J'essaie de configurer proguard pour mon projet Android. Mon projet d'application contient très peu de code, mais référence un projet de bibliothèque qui contient la plus grande partie du code et tous les autres fichiers externes. Cela dit, je ne sais pas comment configurer proguard pour en tenir compte. En ce moment mon fichier de configuration proguard est juste l'exemple Android de the ProGuard site. J'ai cherché autour, mais n'ai pas trouvé beaucoup ou aucune documentation sur l'utilisation de proguard avec des projets de bibliothèque, juste des pots. Je suis nouveau à proguard, donc toute poussée dans la bonne direction serait géniale. Merci.Configuration de ProGuard avec les projets de bibliothèque Android
Répondre
Modifier
Comme @BornToCode souligne, une réponse différente (à l'origine affichée here) explique mieux comment les projets sont pris en charge par la bibliothèque Proguard. De plus, cette question référencée a plus d'intérêt et plus de réputation globale que celle liée à ma réponse originale. La citation:
projets de bibliothèque par eux-mêmes ne fonctionnent pas ProGuard, donc ils n'utilisent aucune configuration. Les projets d'application obscurcissent toute la base de code, y compris les bibliothèques référencées . Ils ont donc besoin d'une configuration appropriée pour le code d'application et pour le code de la bibliothèque.
Old réponse(pas mal, juste sans doute pas la meilleure approche)
Les projets de bibliothèque est plus d'un moyen pratique de relier un projet à son pot dans Eclipse. Lorsque vous générez le projet, le seul composant du projet de bibliothèque visible par votre compilateur est le fichier jar.
Si vous voulez masquer ce pot, consultez ce post:
How to obfuscate an Android library (.jar file) using Proguard in Eclipse
Il me semble logique de spécifier les paramètres ProGuard pour une bibliothèque (comme les fichiers de bibliothèque ne doivent pas être occultées) dans le projet de bibliothèque. J'ai trouvé que j'ai également besoin d'inclure des configurations proguard de mes modules de bibliothèque dans mon application. Pour ce faire, j'ajouté ce qui suit à la section defaultConfig
de ma bibliothèque build.gradle
apply plugin: 'com.android.library'
android {
defaultConfig {
consumerProguardFiles 'proguard-rules.pro'
}
}
puis configuré le fichier proguard-rules.pro dans mon module de bibliothèque pour garder les noms des importants cours sérialisés.
Voir aussi consumerProguardFiles
gradle reference
- 1. Projets de bibliothèque Android
- 2. Soutenir les projets de bibliothèque Android avec maven
- 3. Obfuscating Android avec Proguard Problèmes
- 4. Impossible de compiler avec les projets de bibliothèque Android
- 5. Projets de bibliothèque d'extensions Android?
- 6. Utilisation de ProGuard avec Android.
- 7. Projets de bibliothèque Android builds personnalisés
- 8. Projets de bibliothèque Android: refactoring et navigation
- 9. Android: projets de bibliothèque et ressources stylables
- 10. arrêter proguard annotations dommageables dans le projet de bibliothèque android
- 11. Bibliothèque Android projets libs dépendances
- 12. Android proguard ayant du mal à exécuter un fichier APK avec des bibliothèques de projets liés
- 13. configure proguard pour optimiser les projets de bibliothèque (et non projet principal)
- 14. Thèmes android et projets de bibliothèque
- 15. Projets de bibliothèque et plugin Android Maven
- 16. Inclure les projets de bibliothèque dans le projet Android
- 17. AndParcel autorise android Projets de bibliothèque?
- 18. Meilleure pratique pour tester les projets de bibliothèque Android?
- 19. Android - exclure la bibliothèque (pot) classe de ProGuard
- 20. android: proguard obfuscating problèmes
- 21. Création de projets Android faisant référence à des projets de bibliothèque avec ANT
- 22. Android: Explication de l'intégration de Proguard
- 23. Android compile ClassCastException avec Proguard
- 24. Exemple de configuration de Ninject 2 pour les projets de bibliothèque de classes
- 25. android: proguard masquer les fichiers importés
- 26. ProGuard avec Android: java.lang.NoSuchMethodError: android.util.Xml.asAttributeSet
- 27. Erreur android proguard
- 28. directives Proguard pour Twilio bibliothèque client
- 29. Comment utiliser proguad avec un projet de bibliothèque Android Studio
- 30. Référencement de projets de bibliothèque externes dans Android Studio (v0.8.9)
Salut, il semble que cette réponse est différente avec [ce] (http://stackoverflow.com/questions/10982344/is-proguard-cfg-needed-for-library-projects#10992604). Pourriez-vous expliquer? – BornToCode
@BornToCode vous avez absolument raison. La réponse liée est évidemment beaucoup plus honorable que ma réponse. J'ai ajouté un lien à ceci et une citation dans ma réponse ici. – Phil