34 votes

Lorsque vous utilisez un projet de bibliothèque Android, comment faire pour référencer correctement les ressources xml ?

J'ai un Projet de bibliothèque Android qui contient plusieurs styles/thèmes définis dans son fichier styles.xml.

Normalement, lorsque l'on fait référence à ce style dans un autre fichier xml ou manifeste, il suffit d'écrire android:theme="@style/TheNameOfTheStyle"

Lorsque vous utilisez un projet de bibliothèque, comment le projet dépendant fait-il correctement référence à ce style maintenant ? Il suffit de le laisser comme android:theme="@style/TheNameOfTheStyle" me donne une erreur disant qu'il n'y a pas de ressource trouvée correspondant à ce nom.

Je suppose que la même question s'applique aux autres références comme @string, @color, etc.

Merci

Edit : Ok, il semble donc que vous êtes censé le référencer comme d'habitude, mais la console dans Eclipse me donne cette erreur :

Erreur : Aucune ressource correspondant au nom le nom donné (au niveau de 'theme' avec la valeur '@style/ThemeName').

(facepalm) Edit

J'ai juste eu besoin de "nettoyer le projet" dans Eclipse. Maintenant ça marche.

16voto

Rafael T Points 5817

Il est important de construire le projet après avoir ajouté des ressources (ou d'activer la construction automatique) et le nettoyage du projet aide la plupart du temps. Redémarrer Eclipse lorsque "quelque chose" ne va pas est également une bonne idée.

Notez également qu'Android fusionne les ressources, donc le dernier projet qui est construit "gagne" le nom. Pour cette raison, c'est une bonne idée de préfixer TOUTES les ressources d'une manière ou d'une autre.

3voto

AlanKley Points 1257

J'utilise IntelliJ et ce qui a fonctionné pour moi est de référencer la ressource normalement et de s'assurer que la bibliothèque est ajoutée comme une dépendance du projet.

2voto

nicordesigns Points 144

Je viens de rencontrer le même problème, mais le nettoyage dans Eclipse n'a pas fonctionné jusqu'à ce que je définisse à la fois le projet de bibliothèque et le projet normal pour avoir une correspondance : Target Build Property.

0voto

bencallis Points 905

Je viens de rencontrer ce problème dans Android Studio. Il semble qu'Android Studio n'ait pas réalisé que mon projet de bibliothèque était une bibliothèque malgré le fait que le fichier project.properties indique Android.library=true.

J'ai résolu ce problème en cochant la case "Is Library" dans Project Structure.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X