Ответ 1
Вы можете ускорить разработку, указав минимальную версию SDK = 21.
Официальная документация включает весь раздел об этом.
Пример (из документации):
android {
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
...
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
После того, как вы добавили ароматы продукта, вы можете использовать задачу devDebug
(вместо задачи debug
по умолчанию) для вашей сборки разработки:
- из командной строки: запустите ./gradlew installDevDebug
- от Android Studio: откройте окно "Варианты сборки" и выберите вариант сборки devDebug
.
Вы должны, конечно, работать против устройства, SDK >= 21.
Там также есть решение для тех, кто не хочет использовать ароматы. Как было предложено в this gist, динамически вычисляйте значение minSdkVersion
:
int minSdk = hasProperty('devMinSdk') ? devMinSdk.toInteger() : 14
apply plugin: 'com.android.application'
android {
...
defaultConfig {
minSdkVersion minSdk
...
}
}
В этом примере мы проверяем, определено ли свойство devMinSdk
, и если true - мы его используем. В противном случае мы по умолчанию 14.
Как передать значение devMinSdk
для сборки script? Два варианта:
Использование командной строки:
./gradlew installDebug -PdevMinSdk=21
Использование настроек Android Studio:
Перейдите в раздел Настройки (Настройки в Windows) → Сборка, выполнение, развертывание → Компилятор → установите -PdevMinSdk=21
в текстовое поле Параметры командной строки.