Tenho dois tipos de compilação definidos no meu arquivo gradle: debug
e release
. Eu gostaria de poder definir um ícone de aplicativo diferente para o debug
tipo de compilação. Existe alguma maneira de fazer isso apenas por meio do tipo de compilação, sem entrar em variações de produtos? O arquivo build.gradle está abaixo.
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'])
}
Respostas:
Descobri isso. O que você precisa fazer é criar uma pasta src separada chamada
debug
que contém os diferentes ícones. Por exemplo, se o layout do seu projeto for o seguinte e o ícone do iniciador for chamadoic_launcher.png
:Em seguida, para adicionar um ícone separado para o tipo de compilação de depuração, você adiciona:
Então, quando você compilar sob o tipo de compilação de depuração, ele usará o ic_launcher encontrado na pasta de depuração.
fonte
A melhor maneira: a resposta de InsanityOnABun
AndroidManifest.xml
build.gradle
o URL do Github: Crie um aplicativo com várias versões com Gradle
fonte
manifestPlaceholders
apenas na fase de execução ou por trás daif
instrução. Estou fazendo isso porque tenho 1 tipo de construção de não produção que pode ter dois ícones diferentes (e não quero ter um tipo de construção inteiro com apenas 1 diferença com o outro)Você também pode especificar o ícone no arquivo parcial AndroidManifest.xml da variação do produto:
Isso substituirá o ícone que você especificar no AndroidManifest.xml original
fonte
ic_launcher.png
, ter que saber qual é qual apenas por onde está localizado ou realmente abri-lo (nem tanto legais). Eu não sabia que esse tipo de extensão para o arquivo de manifesto era possível, não vi isso mencionado em nenhum outro lugar no SO ou de outra forma antes aqui. Elegante, com certezaPara obter ícones diferentes ao usar sabores diferentes com dimensões múltiplas, como:
Isso pode ser alcançado como:
Primeiro, coloque os recursos de depuração em pastas separadas, como:
Em segundo lugar, a chave com várias dimensões de sabor é que o nome do conjunto de fontes deve conter todas as combinações de sabor possíveis, mesmo que algumas dessas dimensões não afetem o ícone.
Apenas para deixar claro, o seguinte não funcionará quando várias dimensões estiverem em uso:
fonte
Solução passo a passo, incluindo a substituição de mipmap-anydpi-v26 e manutenção de arquivos para todas as dimensões:
Primeiro defina em build.gradle (Módulo: app) seu tipo de compilação em android -> buildTypes -> debug, interno, etc
Na hierarquia do projeto, abaixo do Android, clique com o botão direito do mouse em aplicativo -> Novo -> Ativo de imagem -> no Caminho, escolha o ícone -> quaisquer outras alterações na Camada de fundo e Legado -> Próximo -> no Diretório Res escolha o tipo de compilação desejado ( debug, internal, main, etc) -> Finish
Dessa forma, os ícones substituirão todos os ícones antigos que você tinha.
fonte