Android - 如何检查Proguard混淆有效?

ban*_*ing 32 obfuscation android proguard

我混淆了我的apk,但文件大小只从12MB减少到10.5MB.

它只是一个相对较小的减少的原因可能是因为我的应用程序使用了几个大型库,但有没有办法可以检查已经执行的混淆程度?

以防万一,这是我的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.**
Run Code Online (Sandbox Code Playgroud)

......我正在使用的库是android-support-v4.jar,acra-4.5.0.jartwitter4j-core-4.0.2.jar.

Wen*_*hao 41

这可能是一种更直观的检查方式.在Android Studio的较新版本中,它附带了APK分析器,让用户可以浏览APK文件中的内容,并且检查您的类是否已被混淆是很方便的.

下图显示包和方法名称都已经过混淆

您可以看到包名称和方法名称已经过模糊处理

  • 谢谢你的这件衣服.你可以在Android Studio中找到这个工具 - > Buld - > Analyze APK ... (12认同)

Ell*_*ltz 38

在项目目录中,您将找到一个Proguard文件夹,您将在其中看到四个文本文件:

dump.txt

描述.apk文件中所有类文件的内部结构

的mapping.txt

列出原始类和混淆类,方法和字段名称之间的映射.当您从发布版本收到错误报告时,此文件很重要,因为它将混淆的堆栈跟踪转换回原始类,方法和成员名称.有关更多信息,请参阅解码混淆堆栈跟踪.

seeds.txt

列出未混淆的类和成员

usage.txt

列出从.apk中删除的代码

资料来源:Proguard

希望这可以帮助!

  • 这些文件保存在<module-name>/build/outputs/mapping/release / (7认同)

yoA*_*ex5 6

混淆者

混淆器工作流程:

在此输入图像描述

  • seeds.txt- Proguard保留的内容列表。这些是入口点和节点。例如对于裸java来说它是一个main函数和其他依赖项
  • usage.txt- Proguard不保留的内容列表
  • mapping.txt- 有关新旧命名格式的信息old_name -> new_name。它可用于解码堆栈跟踪retraceproguardui
  • dump.txt- 描述 Proguard 放入结果存档中的所有内容

可以找到输出

<module_name>/build/outputs/mapping/<buildType>/
Run Code Online (Sandbox Code Playgroud)

您可以使用Analyze APK工具。您可以在其中查看思想.class文件、添加 Proguard 映射文件、显示已删除的节点、显示反混淆名称

在此输入图像描述

[ProGuard 与 R8]