manifeste:
<application
Android:name="..."
Android:allowBackup="false"
Android:icon="@mipmap/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/MyTheme"
tools:replace="icon,label,theme,name,allowBackup">
sous le dossier mipmap-anydpi-v26
j'ai défini ic_launcher.xml
:
<adaptive-icon xmlns:Android="http://schemas.Android.com/apk/res/Android">
<background Android:drawable="@color/white"/>
<foreground Android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
voici la structure de mon dossier:
build.gradle:
compileSdkVersion = 26
buildToolsVersion = "25.0.2"
supportLibVersion = "25.3.1"
targetSdkVersion = 25
minSdkVersion = 18
ET j'utilise Android studio 3.0
mais le résultat final est que je reçois une icône Android par défaut au lieu de celle que j'ai fournie.
J'ai aussi essayé de mettre le png au premier plan dans tous les dossiers de densité (mipmap-xhdpi, etc.), bien que j'utilise le même png pour tous quand je l'ai fait juste pour le test
Adaptive icon requied API 26 vous devez donc mettre à jour vos outils de génération vers la version 26.0.0 minimum
J'ai essayé de le déboguer en utilisant un <ImageView>
. Lorsque je l’ai fait, j’ai reçu une trace se terminant par:
Caused by: Java.lang.IllegalArgumentException: Path string cannot be empty.
Il s'avère que mon ic_launcher_foreground.xml
avait des éléments <path>
avec des attributs Android:pathData
vides.
La suppression de ces <path>
s vides a fait fonctionner l’icône!
J'ai eu du mal à afficher mon icône adaptative. Il s'avère que je n'avais rien fait de mal. Il a commencé à fonctionner après avoir réalisé un «projet propre» dans Android Studio.
ic_launcher.xml devrait être comme ça
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<background Android:drawable="@color/white"/>
<foreground Android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
J'ai moi aussi fait face au même problème, voici comment j'ai résolu ce problème
Faites un clic droit sur la ressource -> Nouveau -> ImageAsset
Choisissez l'icône ic_launcher_background et ic_launcher_foreground comme indiqué dans l'écran ci-dessous
Le studio Android crée un fichier ic_launcher.xml sous la ressource mipmap (anydpi-v26).
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:Android="http://schemas.Android.com/apk/res/Android">
<background Android:drawable="@mipmap/ic_launcher_background"/>
<foreground Android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
Maintenant, dans le fichier Manifest.XML, déclarez l’icône et l’icône arrondie
<application
Android:allowBackup="true"
Android:icon="@mipmap/ic_launcher"
Android:label="@string/app_name"
Android:roundIcon="@mipmap/ic_launcher"
Android:supportsRtl="true"
Android:theme="@style/AppTheme">
.......</application>
Oui c'est tout et Exécuter votre application sur n'importe quel appareil, il apparaît