В моем файле gradle установлено два типа сборки: debug
и release
. Я хотел бы иметь возможность установить другой значок приложения для debug
типа сборки. Есть ли способ сделать это только через тип сборки, не вдаваясь в вкусы продукта? Файл build.gradle находится ниже.
apply plugin: 'android'
//...
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionCode 30
versionName "2.0"
}
buildTypes {
debug {
packageNameSuffix '.debug'
versionNameSuffix '-SNAPSHOT'
}
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Ответы:
Догадаться. Что вам нужно сделать, так это создать отдельную папку src,
debug
которая будет содержать различные значки. Например, если макет вашего проекта выглядит следующим образом, и ваш значок запуска называетсяic_launcher.png
:Затем, чтобы добавить отдельный значок для типа сборки отладки, вы добавляете:
Затем, когда вы выполняете сборку с типом сборки отладки, он будет использовать ic_launcher, найденный в папке отладки.
источник
Лучший способ: ответ InsanityOnABun
AndroidManifest.xml
build.gradle
URL-адрес Github: создание мультиверсионного приложения с помощью Gradle
источник
manifestPlaceholders
только на этапе выполнения или заif
оператором и. Я делаю это, потому что у меня есть 1 непроизводственный тип сборки, который может иметь два разных значка (и я не хочу иметь весь тип сборки с одним отличием от другого)Вы также можете указать значок в частичном файле AndroidManifest.xml продукта:
Это перезапишет значок, указанный в исходном файле AndroidManifest.xml.
источник
ic_launcher.png
, нужно знать, какая из них какая, только по тому, где она находится, или фактически открывая ее (не так отлично). Я не знал, что такое расширение файла манифеста вообще возможно, я не видел, чтобы об этом упоминалось где-либо еще на SO или иным образом раньше здесь. Безусловно элегантноДля получения разных значков при использовании разных вкусов с несколькими размерами, например:
Это может быть достигнуто следующим образом:
Сначала поместите ресурсы отладки в отдельные папки, например:
Во-вторых, ключ с несколькими измерениями вкуса состоит в том, что имя набора источников должно содержать все возможные комбинации вкусов, даже если некоторые из этих измерений не влияют на значок.
Чтобы было понятно, следующее не будет работать при использовании нескольких измерений:
источник
Пошаговое решение, включая замену mipmap-anydpi-v26 и сохранение файлов для всех измерений:
Сначала определите в build.gradle (Module: app) свой тип сборки в android -> buildTypes -> debug, internal и т. Д.
В иерархии проекта под Android щелкните правой кнопкой мыши приложение -> Создать -> Актив изображения -> в Пути выберите свой значок -> любые другие изменения на Фоновом слое и Наследии -> Далее -> в Каталоге Res выберите желаемый тип сборки ( отладка, внутренняя, основная и т. д.) -> Готово
Таким образом значки заменят все старые значки, которые у вас были.
источник