根据此链接:
http://developer.android.com/guide/developing/tools/proguard.html,他们指出:

但这不是真的!我正在使用ADT 17预览版4中包含的最新Proguard(4.7)。我在通过添加添加导出我的应用程序时使用proguard

proguard.config=proguard-android.txt
进入我的project.properties(proguard-android.txt只是ADT 17中包含的默认设置)。
但是我可以轻松地对我的apk进行反向工程,使用以下步骤将其返回到原始代码:
  • 使用apk工具提取apk。
  • 使用smali将.smali文件转换为.dex(将smali指向包含.smali文件的文件夹文件夹,通常在/src/com/[companyname]/[appname]中)
  • 使用dex2jar将生成的.dex文件转换为.jar
  • 使用jd-gui查看生成的.jar文件

  • 所以我的问题是:我做错什么了吗?还是proguard在混淆代码方面完全没有用?

    最佳答案

    如果您使用的是android.support。*兼容性库,则可能是问题的根源。
    将以下行添加到您的proguard配置文件中:

    -dontwarn android.support.**
    -keep class android.support.** { *; }
    

    诊断proguard问题的最简单方法是使用apache ant构建应用程序。您将在stderr中看到所有警告和错误。

    这适用于所有使用动态类加载,反射和依赖于API版本的同一类的多个实现的库。

    10-02 00:20
    查看更多