android - jack 似乎并没有自己混淆代码

标签 android proguard android-jack-and-jill

我使用的是 Android Studio 版本 v2.1.2,当我尝试签署发布版本时 Proguard 不起作用,构建严重失败。

According to this link from developer docs Jack 会自动混淆。

Handles shrinking, obfuscation, repackaging and multidex Using a separate package such as ProGuard is no longer necessary.

我必须禁用 minifyEnabled 标志并删除我们加载 proguard 文件的行;在这样做之后让它工作;我检查了通过执行上述操作生成的 apk 文件,我无法判断 Jack 是否真的混淆并减少了冗余代码,因为发布 apk 大小与调试 apk 相同 大小。

我需要了解如何使用较新的编译器进行混淆处理,因为文档并没有真正帮助。

我期待了解以下问题。

Jack 是否可以在没有 Proguard 文件的情况下工作?

有没有办法指定Proguard文件?

最佳答案

Jack 编译器有自己的 Shrinker 和 Obfuscator,可以重新使用现有的 Proguard 规则(参见 supported directives)。

配置应该和以前一样,所以你需要在你的buildType配置中添加以下内容:

minifyEnabled true
proguardFile getDefaultProguardFile('proguard-android.txt')
proguardFile 'your-proguard-file.txt'

关于android - jack 似乎并没有自己混淆代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37874784/

相关文章:

android - Jack 编译器没有行号(例如 Log.getStackTraceString)

android - 均衡器 getBandLevel(i) 返回值 0

android - 在 Android Studio 中使用 Proguard 的 Google Play 服务

android - 启用R8导致应用程序崩溃

android-ndk - 运行 ProGuard 后 JNI RegisterNatives() 找不到类方法

gradle - Jack编译卡在Android Studio 2.3中

android - 使用 Jack APIs v01 编译失败 - ConfigurationException : Error while parsing proguard-android. txt

android - android中直接相机上的字符识别?

android - 如何在 Android 中禁用 Home 和其他系统按钮?

android - FacebookSdk.sdkInitialize(上下文)已弃用