Вступление
Одной из ключевых особенностей Android Studio является интеграция Gradle в качестве системы сборки Android. В то время как общая цель системы сборки заключается в том, чтобы взять исходный код и создать установочный файл для ваших пользователей, APK для Android, Gradle предоставляет гораздо больше функциональных возможностей.
Gradle управляет управлением зависимостями, такими как локальные файлы JAR, собственные файлы .so и библиотеки, размещенные на Maven. Это также позволяет легко настраивать свойства проекта и позволяет разработчикам создавать различные версии своих приложений довольно простым способом. Последний пункт, известный как варианты сборки, — это то, о чем вы узнаете в этой статье.
1. Что такое варианты сборки?
Варианты сборки — это конкретные сборки, которые вы можете создавать из Gradle, основываясь на общем исходном коде ядра. Хотя стандартное приложение может иметь тип сборки отладки и выпуска , вы можете расширить это, добавив дополнительные параметры .
Измерения вкуса позволяют вам использовать структуру папок вашего проекта, чтобы изменить то, как отдельные сборки выглядят и действуют для ваших пользователей. Это позволяет разработчикам легко создавать несколько похожих приложений с разными стилями и конфигурацией.
2. Настройка вариантов сборки в Gradle
Вы можете начать, перейдя в файл build.gradle вашего проекта и добавив элемент flavorDimensions
внутри android
узел сборки.
1
|
flavorDimensions «number», «color»
|
Это определяет, какие размеры могут использовать ваши варианты сборки. Каждая сборка, которую вы производите, должна иметь вкус продукта в каждом из измерений. Это означает, что если вам нужно только одно измерение для ваших приложений, что является распространенным сценарием, то вы можете изменить Линия flavorDimensions
для определения только одного измерения.
Ниже определения flavorDimensions
вы можете определить productFlavors
. В этом примере мы будем просты и определим две разновидности для измерения.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
|
productFlavors {
blue {
applicationId «com.tutsplus.bluevariant»
flavorDimension «color»
}
green {
applicationId «com.tutsplus.greenvariant»
flavorDimension «color»
}
one {
flavorDimension «number»
}
two {
flavorDimension «number»
}
}
|
Каждая сборка, которую вы создадите, будет applicationId
, чтобы отличать его от других сборок. Поскольку любое создаваемое вами приложение будет иметь хотя бы один вариант из каждого измерения, вам нужно только определить applicationId
в каждом узле для одного измерения.
Теперь, когда вы определили все для своих вариантов сборки в build.gradle , вы можете открыть панель « Варианты сборки» в левом нижнем углу Android Studio, чтобы увидеть, какие варианты доступны для сборки.
Вы заметите, что каждый добавляемый вами аромат растет в геометрической прогрессии. Также обратите внимание, что buildType отладки и выпуска брошены в матрицу измерений.
3. Использование структуры проекта
Теперь вы можете устанавливать разные версии своего приложения, но ничто не отличает их друг от друга. Вот где вы действительно можете использовать систему сборки Gradle в своих интересах.
Gradle использует структуру папок проекта, чтобы определить, какие файлы будут использоваться для компиляции приложения. В структуре вашего проекта в app / src / , вы увидите основной каталог. Здесь живут все ваши исходные и основные ресурсы Java. Вы можете добавить дополнительные каталоги наряду с main, чтобы отразить вкусы продуктов ваших приложений, чтобы добавить индивидуальные ресурсы для каждого варианта сборки.
Любой ресурс, который существует во вкусе продукта, который также определен в main , автоматически будет иметь приоритет.
Мы можем увидеть это в действии, посмотрев файл main / res / values / colors.xml . Если в вашем проекте еще не определено значение colorPrimary
, определите его. Если вы начали с нового пустого проекта, который следует этой статье, вы должны увидеть предопределенное значение #3F51B5
. При colorPrimary
приложения в качестве цвета Toolbar
приложения должно отображаться значение colorPrimary
.
Если вы создаете новый файл colors.xml в green / src / values / , Вы можете переопределить атрибут colorPrimary
с другим значением. В этом случае давайте использовать #00FF00
.
1
2
3
4
|
<?xml version=»1.0″ encoding=»utf-8″?>
<resources>
<color name=»colorPrimary»>#00FF00</color>
</resources>
|
Когда ваш файл создан и установлен цвет, вернитесь на панель « Варианты сборки» в Android Studio и выберите вариант сборки oneGreenDebug . Затем вы можете скомпилировать и запустить этот вариант приложения.
Несмотря на то, что зеленый вариант закрасил панель инструментов зеленым, остальные свойства из main не переопределяются. Это позволяет вам устанавливать общие свойства в основном и изменять только то, что должно быть другим.
Это не только работает для цветов, но вы можете изменить все, что существует в папках ресурсов, такие как строки, стили, измерения и целые числа. В сочетании с аннотированными папками ресурсов, такими как values-xhdpi для устройств с более высокой плотностью пикселей, вы сможете точно контролировать то, что пользователь видит в вашем приложении, чтобы обеспечить наилучшее взаимодействие с ним.
В качестве дополнительного бонуса, поскольку для каждого из измерений цвета установлены разные значения applicationId
, вы можете установить на устройство несколько версий одного и того же приложения.
Вывод
Gradle — это мощный инструмент, который не только создает APK, но и позволяет вам детально управлять настройкой ваших сборок. В этой статье вы узнали, как создавать варианты сборки вашего приложения с различными ресурсами, чтобы вы могли легко создавать несколько похожих приложений за долю времени, которое потребуется для сборки каждого из них по отдельности.
Хотя Gradle все еще довольно новая система сборки, она уже продемонстрировала, что это невероятно полезная система сборки, с которой должен знакомиться каждый разработчик Android.