Следующее руководство для разработчиков Android Configuring Gradle Builds Мне удалось создать приложение, использующее один и тот же код с различными ресурсами.
Во-первых, после создания нового проекта в Android Studio (Gradle: Android Module), я добавил файл build.gradle (находящийся в вашем каталоге модулей, например «Project/app/build.gradle»), 'blue' и ' красный»ароматы:
android {
// ...
productFlavors {
blue {
applicationId 'com.example.app.blue'
versionName '1.0-blue'
}
red {
applicationId 'com.example.app.red'
versionName '1.0-red'
}
}
}
IDE предложено синхронизировать файлы проекта с Gradle, так что я сделал это. Затем я добавил файл ресурса colors.xml в «красный» аромат, щелкнув правой кнопкой мыши по каталогу «приложение» в корне проекта в . Проект панель (новый -> файл ресурсов Android, выбранный «красный» в качестве моего источника).
Следующий я изменил новый файл содержит определение цветового ресурса:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#ff0000</color>
</resources>
Я сделал то же самое для моего «голубого» привкуса (но с другим значением цвета).
Я изменил цвет фона рабочего макета, созданный автоматически при создании нового проекта, чтобы увидеть, будет ли он работать.
<RelativeLayout
...
android:background="@color/primary" />
Переключение сборки Вариант в Строить Варианты панели (открыто с помощью нижнего левого названия кнопок такого) привела различные цвета фона в моей деятельности.
Я предполагаю, что вы сохраняете свои изображения, json и другие файлы в Android, восстанавливает каталоги, поэтому способ, которым вы должны хранить разные файлы в разных вариантах, аналогичен тому, что я достиг.
См. this сайт, чтобы лучше понимать ароматы продукта и варианты сборки.
спасибо, эта структура работает нормально –
привет, я получаю ошибку сборки graddle, FAILURE: сбой сборки с исключением. * Что пошло не так: Выполнение не выполнено для задачи ': app: processYoga_frenchDebugGoogleServices'. > Соответствующий клиент не найден для имени пакета 'com.unders.app.y_v1f' * Попробуйте: Запустите с опцией --stacktrace, чтобы получить трассировку стека. Запустите с опцией --info или --debug, чтобы получить больше выходных данных журнала. – Franck