2013-10-22 14 views
8

È possibile impostare icone separate per l'applicazione se impostiamo android: debuggable = true in manifest e se impostiamo android: debuggable = false come in iOS?Android - icona app per la modalità debug e release

+0

Eventuali duplicati di [Come fornire diverse icone delle applicazioni Android per diversi buildTypes Gradle?] (https://stackoverflow.com/questions/22875948/how-to-provide-different-android-app-icons-for-different-gradle-buildtypes) – longilong

+0

@longilong Questa domanda è stata posta prima della discussione che hai fornito. – Uma

+0

true, ma la risposta collegata ha una soluzione più chiara ed è stata la mia prima bandiera. spiacente MrGreen – longilong

risposta

2

per quanto ne so icone delle applicazioni dipendono solo dalla cartella drawable cui si trovano, e non c'è no folder qualifiers for -debug e non c'è modo per modificare l'icona sulla base di manifesti cambia

+2

Mentre è vero che non ci sono qualificatori di cartelle per il debug, questo può essere effettivamente ottenuto utilizzando i sapori. –

+0

Controlla questo post qui: https://stackoverflow.com/questions/22875948/how-to-provide-different-android-app-icons-for-different-gradle-buildtypes – longilong

-1

Si può provare con due diversi icone delle applicazioni nella cartella drawable - vale a dire:

  1. drawable/app_icon_release
  2. drawable/app_icon_debug

Quando si imposta la modalità di debug su true:

<android xmlns:android="http://schemas.android.com/apk/res/android"> 
<manifest> 
     <application 
      android:debuggable="true" 
      android:icon="@drawable/app_icon_debug" 
      android:label="Your App Name" > 

     </application> 
</manifest> 
</android> 

caso contrario, quando la modalità di debug su false:

<android xmlns:android="http://schemas.android.com/apk/res/android"> 
<manifest> 
     <application 
      android:debuggable="false" 
      android:icon="@drawable/app_icon_release" 
      android:label="Your App Name" > 

     </application> 
</manifest> 
</android> 
+0

questo significa che devi impostarlo manualmente ogni volta ! Prova a utilizzare soluzioni dinamiche. – longilong

1

devi Gradle e costruire sapori per fare questo. Quindi puoi avere diverse cartelle di risorse per i diversi sapori.

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors

+0

I tipi di build di debug e release sono esposti per ogni gusto, quindi in realtà non è ciò che il richiedente sta cercando. Hai ragione a modificare l'icona per gusto build, ma in genere ogni aroma ha un APK firmato e non firmato, e sarebbe bello se potessi modificare l'icona anche per quelle. –

9

Sono un po 'in ritardo alla festa, ma in ogni caso. Al momento sto postando questo nel '16, in realtà puoi avere diverse icone di avvio impostandole semplicemente nelle rispettive directory, non so come sia tornato nel '13. Per ottenere questo è necessario creare directory di debug/res sotto app/src e posizionare lì le directory mipmap o disegnabili. Quindi avrai app/src/main/res/ e percorsi app/src/debug/res/. Android avrà una priorità più alta per la directory delle risorse correlate alla build - nella directory principale. Posiziona il tuo debug e rilascia le risorse nei percorsi appropriati e avrai ciò che desideri. Fai tutto quanto sopra considerando che devi usare il sistema di build Gradle.

Qui potete leggere di più su cose del genere: http://tools.android.com/tech-docs/new-build-system/resource-merging

+2

Questo ha funzionato anche per me: http://peirr.com/random-android-gradle-tip-different-icon-per-buildtype/ – trukvl

0

considerando che la risposta di Alex va bene nel caso in cui i sapori non sono in uso, per ottenere diverse icone durante l'utilizzo di diversi sapori con molteplici dimensioni, come ad esempio:

flavorDimensions "color", "size" 
productFlavors { 
    black { 
     dimension "color" 
    } 
    white { 
     dimension "color" 
    } 

    big { 
     dimension "size" 
    } 
    small { 
     dimension "size" 
    } 
} 

Ciò può essere ottenuto come:

primo luogo, mettere le risorse di debug in cartelle separate, come ad esempio:

src/blackDebug/res 
src/whiteDebug/res 

In secondo luogo, inserire la chiave con più dimensioni di sapore è che il nome del gruppo di fonti deve contenere tutte le possibili combinazioni di sapori, anche se alcune di queste dimensioni non influiscono sull'icona.

sourceSets { 
    // Override the icons in debug mode 
    blackBigDebug.res.srcDir 'src/blackDebug/res' 
    blackSmallDebug.res.srcDir 'src/blackDebug/res' 
    whiteBigDebug.res.srcDir 'src/whiteDebug/res' 
    whiteSamllDebug.res.srcDir 'src/whiteDebug/res' 
} 

Giusto per chiarire, il seguente non funziona quando più le dimensioni sono in uso:

sourceSets { 
    // Override the icons in debug mode 
    blackDebug.res.srcDir 'src/blackDebug/res' 
    whiteDebug.res.srcDir 'src/whiteDebug/res' 
} 
Problemi correlati