Donc, je suis TENTATIVE pour sortir un logiciel mais Proguard me donne mal à la tête.
Lorsque j'essaie d'exporter en utilisant proguard, j'obtiens de nombreux avertissements tels que "impossible de trouver la classe référencée".
Par exemple :
[2011-08-07 17:44:37 - GAME] Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
[2011-08-07 17:44:37 - GAME] Warning: there were 52 unresolved references to classes or interfaces.
[2011-08-07 17:44:37 - GAME] You may need to specify additional library jars (using '-libraryjars'),
[2011-08-07 17:44:37 - GAME] or perhaps the '-dontskipnonpubliclibraryclasses' option.
[2011-08-07 17:44:37 - GAME] java.io.IOException: Please correct the above warnings first.
[
Les avertissements semblent être liés à simpleframework, donc dans mon fichier de configuration proguard j'ai ajouté ce qui suit :
-libraryjars pathtoprojecttolibs\simple-xml-2.4.jar
Où pathtoprojecttolibs
est le chemin vers les jars qui sont référencés par mon projet.
Cela ne fait aucune différence.
Si simpleframework fait référence à javax, puis-je dire à proguard de l'ignorer également ?
Des idées ?
1 votes
Utilisez-vous proguard uniquement pour faire du treeshaking ? Si oui, avez-vous vérifié la taille de votre fichier sans l'utiliser ? Vous pouvez obtenir des bogues superwierd quand proguard jette quelque chose qui est accédé en utilisant la réflexion par exemple que vous ne trouverez pas jusqu'à ce qu'il casse le runtime donc soyez vraiment, vraiment sûr que vous en avez besoin.
0 votes
Je l'utilisais seulement pour essayer d'éviter que le code soit piqué aussi facilement ? Pensez-vous que cela en vaut la peine ?
3 votes
@ListenToRick Proguard est parfaitement bien, s'il est exécuté avec les bonnes configurations et que l'application résultante est testée correctement. Je suis presque sûr que Google recommande même son utilisation. Google fournit de nombreux guides/exemples pour l'utilisation de Proguard avec les applications Android.
0 votes
Proguard est un bon outil, mais le fait que Google le recommande est probablement dû à une limitation de taille plutôt bizarre dans le format dex. (Voir code.google.com/p/Android/issues/detail?id=7147 )
5 votes
@alun, ce n'est pas la raison. Ceux d'entre nous qui ne veulent pas que leurs applications fassent l'objet d'une rétro-ingénierie, ou qui utilisent des licences pour "essayer" d'empêcher le piratage, devraient utiliser un outil d'obscurcissement tel que celui-ci pour rendre la tâche plus difficile aux pirates potentiels. Le fait que votre application prenne moins d'espace est également un avantage pour l'utilisateur final, et il y a aussi des optimisations faites par ces outils... encore un autre avantage.