web-dev-qa-db-fra.com

Android - Comment vérifier que l'obscurcissement Proguard a fonctionné?

J'ai masqué mon apk, mais la taille du fichier n'a été réduite que de 12 Mo à 10,5 Mo.

La raison pour laquelle il ne s'agit que d'une réduction relativement faible peut-être parce que mon application utilise quelques grandes bibliothèques, mais y a-t-il un moyen de vérifier le niveau d'obscurcissement effectué?

Juste au cas où, ceci est mon fichier proguard-project.txt ...

# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-Android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
#   http://developer.Android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

-dontwarn Twitter4j.**

... et les bibliothèques que j'utilise sont Android-support-v4.jar, acra-4.5.0.jar et Twitter4j-core-4.0.2.jar.

22
ban-geoengineering

Dans votre répertoire de projet, vous trouverez un dossier Proguard, dans lequel vous verrez quatre fichiers texte:

dump.txt

Décrit la structure interne de tous les fichiers de classe du fichier .apk.

mapping.txt

Répertorie le mappage entre les noms de classe, de méthode et de champ d'origine et obscurcis. Ce fichier est important lorsque vous recevez un rapport de bogue de une version release, car elle traduit la trace de pile obfusquée en classe originale, méthode et noms de membres. Voir Décodage des traces de pile obfusquées. pour plus d'informations.

seeds.txt

Répertorie les classes et les membres qui ne sont pas obscurcis

usage.txt

Répertorie le code qui a été extrait du .apk

Source: Proguard

J'espère que cela t'aides!

32
Elltz

Voici probablement un moyen plus visuel de vérifier . Dans la nouvelle version d'Android Studio, il est livré avec l'analyseur APK qui permet à l'utilisateur d'explorer le contenu du fichier APK et il est pratique de vérifier si votre classe a été masquée.

L'image ci-dessous montre que le nom du paquet et de la méthode ont été obscurcis

 You can see the package name and method name is obfuscated

27
WenChao

comment puis-je vérifier le niveau d’obscurcissement réalisé?

Vous pourrez peut-être utiliser l'indicateur -optimizationpasses N.

Spécifie le nombre de passes d'optimisation à effectuer. Par défaut, un seul passage est effectué. Plusieurs passes peuvent entraîner des améliorations supplémentaires. Si aucune amélioration n'est trouvée après une opération d'optimisation, celle-ci est terminée. Applicable uniquement lors de l'optimisation.

0
VKDev