Articles of android productflavors

Могу ли я построить все мои ароматы сборки градиента сразу?

У меня есть несколько вариантов сборки для приложения. Я хочу собрать все по-разному ароматизированные апки сразу и найти их в папке / выходе. Я не хочу выбирать каждый вкус и строить его индивидуально. Как я могу это сделать?

Ароматизаторы Android Gradle с оповещениями о выпуске Parse Push

Я пытаюсь отправить Push-уведомления через Parse и интегрировать вкусы продукта. Когда я внедряю ароматы продукта, я не могу получать оповещения о синтаксическом анализе. У кого-нибудь есть рекомендации по исправлению этой проблемы? Файл приложения Gradle: apply plugin: 'com.android.application' android { compileSdkVersion 19 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.example.project" minSdkVersion 16 targetSdkVersion 21 } buildTypes { release […]

Android flavor – не может найти символьную переменную в файле R

У меня есть 2 варианта – платный и бесплатный. Единственное отличие, что paidapp имеет еще 1 кнопку на MainActivity , скажем, "paidbutton" . Paidapp имеет свой собственный макет с кнопкой android:id="@+id/paidbutton" а макет для freeapp не имеет этой кнопки. В коде я использую это: if (BuildConfig.FLAVOR.equals("paidapp")) { View paidbutton = findViewById(R.id.paidbutton); paidbutton.setOnClickListener(new OnClickListener() { @Override […]

Агрегаты препроцессора Gradle

Я хочу что-то сделать с активами на стадии сборки. Это мой сценарий градиента. project.afterEvaluate{ prepareDependencies.dependsOn("generateMyAssets") } task generateMyAssets() { copy { from('/') { include '**/*.html' filter { line -> line.replaceAll(/(<img src=\")(?!(.*:.*))/, '<img src="assets:') } } into 'assetsRegxped/' } } Мой вопрос в том, как гибко получить имя (путь) папки с ресурсами в случае вкусов. Также […]

Не удалось импортировать поддержку android v4 или v7 в библиотеке, используя productFlavors

Я создаю библиотеку Android с различными продуктами . В библиотеке есть свет и полный аромат. Файл настроен правильно: src/main/java/com/example/… для основных классов src/full/java/com/example/… для полных классов src/light/java/com/example/… для легких классов Android Studio правильно поняла это и добавила (full) полный аромат. ВОПРОС: зависимости, такие как okhttp , работают как ожидалось, но не appcompat-v7 . Все, используя […]

Как использовать несколько res.srcDirs и переопределить некоторые ресурсы с помощью gradle

Я хочу создать разные версии моего приложения на основе разных продуктов , но вам нужна определенная степень гибкости, которую я пока не могу достичь. Это моя структура папок: +src +main +java +res +base +java +res +custom1 +java +res +custom2 +res Общий код находится на главной (услуге), а база ui находится на базовой (активности). Затем пользовательская […]

Как определить и использовать константу в скрипте сборки Gradle (Android)?

Я работаю над приложением Android с Gradle как своей системой сборки. Моя цель – использовать значение (имя пакета) как applicationId : productFlavors { orange { applicationId "com.fruits.android.orange" // … Но также выставлять его через BuildConfig чтобы Java-код имел к нему доступ. Этот доступ должен быть вне вкуса (а именно, бесплатная версия приложения должна знать имя […]

Пользовательская задача Android Gradle для каждого варианта

У меня есть Android-приложение, созданное с помощью Gradle, которое содержит BuildTypes и Product Flavors (варианты). Я могу, например, запустить эту команду для создания конкретного apk: ./gradlew testFlavor1Debug ./gradlew testFlavor2Debug Я должен создать пользовательскую задачу в файле build.gradle для каждого варианта, например: ./gradlew myCustomTaskFlavor1Debug Я создал для этого задачу: android.applicationVariants.all { variant -> task ("myCustomTask${variant.name.capitalize()}") { […]

Файлы вкуса и ресурсов Android

У меня проблема с сборкой android gradle. Короче говоря, я создал 2 аромата: productFlavors{ abcDemoFree{ } abcDemo{ } } У этого эффекта есть свой собственный Activity (Settings.java) и макет (settings_layout.xml) для этого действия. Из основного оба файла были удалены, поэтому Settings.java и settings_layout.xml существуют только в ароматах. abcDemoFree – java – Settings.java – res – […]

Gradle получить текущий вкус для конкретной задачи

Я пытаюсь разобраться с google-services.json и разными вкусами. В документации говорится, что нам нужен файл в корневой папке. У меня есть задача, которая может легко скопировать файл из папки аромата в корневую папку: task CopyToRoot(type: Copy) { def appModuleRootFolder = '.' def srcDir = 'src' def googleServicesJson = 'google-services.json' outputs.upToDateWhen { false } def flavorName […]