Tengo dos tipos de compilación configurados en mi archivo gradle: debug
y release
. Me gustaría poder configurar un ícono de aplicación diferente para el debug
tipo de compilación. ¿Hay alguna forma de hacerlo solo a través del tipo de compilación, sin entrar en sabores de productos? El archivo build.gradle está debajo.
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'])
}
Respuestas:
Lo averigué. Lo que debe hacer es crear una carpeta src separada llamada
debug
que contenga los diferentes iconos. Por ejemplo, si el diseño de su proyecto es el siguiente y el icono de su lanzador se llamaic_launcher.png
:Luego, para agregar un ícono separado para el tipo de compilación de depuración, agrega:
Luego, cuando compile bajo el tipo de compilación de depuración, usará ic_launcher que se encuentra en la carpeta de depuración.
fuente
La mejor manera: la respuesta de InsanityOnABun
AndroidManifest.xml
build.gradle
la URL de Github: compile una aplicación de varias versiones con Gradle
fuente
manifestPlaceholders
único en la fase de ejecución o detrás de unaif
declaración. Estoy haciendo esto porque tengo 1 tipo de compilación que no es de producción que puede tener dos íconos diferentes (y no quiero tener un tipo de compilación completo con solo 1 diferencia con el otro)También puede especificar el icono en el archivo parcial AndroidManifest.xml del tipo de producto:
Esto sobrescribirá el icono que especifique en el archivo AndroidManifest.xml original.
fuente
ic_launcher.png
, tener que saber cuál es cuál solo por dónde está ubicado o abrirlo realmente (no es así bonito). No sabía que este tipo de extensión para el archivo de manifiesto fuera posible, no lo he visto mencionado en ningún otro lugar en SO o de otra manera antes aquí. Elegante sin dudaPara obtener diferentes íconos mientras usa diferentes sabores con múltiples dimensiones, como:
Esto se puede lograr como:
Primero, coloque los recursos de depuración en carpetas separadas, como:
En segundo lugar, poner la clave con múltiples dimensiones de sabor es que el nombre del conjunto de fuentes debe contener todas las posibles combinaciones de sabor, incluso si algunas de estas dimensiones no afectan al icono.
Para que quede claro, lo siguiente no funcionará cuando se utilicen varias dimensiones:
fuente
Solución paso a paso, que incluye reemplazar mipmap-anydpi-v26 y mantener archivos para todas las dimensiones:
Primero defina en build.gradle (Módulo: aplicación) su tipo de compilación en Android -> buildTypes -> debug, internal, etc.
En la jerarquía del proyecto, debajo de Android, haga clic derecho en la aplicación -> Nuevo -> Activo de imagen -> en Ruta elija su ícono -> cualquier otro cambio en Capa de fondo y Legado -> Siguiente -> en Directorio de Res elija el tipo de compilación deseado ( debug, internal, main, etc) -> Finalizar
De esa manera, los íconos reemplazarán todos los íconos antiguos que tenía.
fuente