Affichage des articles dont le libellé est icon. Afficher tous les articles
Affichage des articles dont le libellé est icon. Afficher tous les articles

2012-03-26

Comprendre un plantage (simple) de lint

Je n'ai pas eu l'occasion de faire un billet à ce sujet, mais le très récent ADT 17 apporte  une nouvelle version de lint dopée au stéroïdes.

Malheureusement, il peut arriver que (comme sur l'image de l'article) lint se casse les dents sur votre projet en cours. C'est assez ennuyeux que l'outil d'aide à la découverte de potentiel bug se banane, mais on va voir que ce n'est pas TOUT lint qui est concerné.

2012-03-15

ERROR getting 'android:icon' attribute: attribute is not a string value

Le message d'erreur

Le message d'erreur se veut utile et pertinent ... normalement ...
Le fichier est incorrect : W/ResourceType( 6142):
No known package when getting value for resource number 0x01080049 
ERROR getting 'android:icon' attribute: attribute is not a string value 
Donc la valeur resource 0x01080049 identifiant l'icône d'un élément n'est pas une valeur littérale. Admettons ...

L'identification

Eclipse facilite énormément le développement mais la recherche de texte m'est plus facile avec la ligne de commande
$ egrep -ril 80049  * | wc -l
0
C'est mal parti ...
Essayons ça :
$ egrep -ri 'android:icon' AndroidManifest.xml 
android:icon="@drawable/icon"
android:icon="@android:R/drawable/ic_menu_preferences"
Je change l’icône "@android:R/drawable/ic_menu_preferences" de l'activité Preferences par "@drawable/icon" :
<activity
     android:name=".Preferences33700"
     android:excludeFromRecents="true"
     android:icon="@drawable/icon"
     android:label="@string/app_prefs"
     android:theme="@style/theme_signalspam" >
     <intent-filter>
     <action android:name="android.intent.action.MAIN" />
     </intent-filter>
</activity>
Et je repasse au validateur du PlayStore :

Conclusion

Ne pas utiliser de ressources @android:R dans le Manifest.xml ... Mieux lire les guidelines Android ... :)