Je développe une application android qui utilise mon propre framework/jar/SDK personnalisé. Supposons que le nom du paquet SDK soit com.vrs.fm
dans ce paquet principal, il y a N non de sous-paquetages et de classes. Mon dossier de demande est com.vrs.app
pour des raisons historiques. Tout en activant proguard sur mon SDK personnalisé vrs
, j'ai besoin de garder les classes sous le paquet com.vrs
donc j'ai ajouté ci-dessous les règles proguard.Proguard - Obfuscate les paquets intérieurs tout en conservant les paquets externes
-dontwarn com.vrs.**
-keep class com.vrs.** { *; }
Cela permet de garder mon code d'application également non obfusqué.
Maintenant, je voudrais savoir est sous com.vrs.fm
-keep class! Com.vrs.app. **, com.vrs. ** {; } ne fonctionne pas. Cependant -keep class! Com.vrs.app. *, Com.vrs. ** {*; } travailler mais obscurcir uniquement les classes sous com.vrs.app mais pas les sous-packages com.vrs.app.XXX. – vrs
Avez-vous utilisé exactement la même règle que dans la réponse? Je serais surpris si cela ne fonctionne pas. Vérifiez si vous n'avez pas d'autre règle qui pourrait également conserver com.vrs.app. **. –
Oui, j'ai utilisé la même règle que dans la réponse. Probablement d'autres règles proguard dans mon fichier pourraient l'arrêter. – vrs