我想混淆我的 apk,但是当我使用minifyEnabled true时,我的应用程序在发布模式下崩溃,所以我将我的 as 更新到 3.4.2,我意识到有一个名为 R8 的新系统,我已经激活了它,但我的代码仍然可读我做的事buildTypes { release { useProguard false minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }dependencies { classpath 'com.android.tools.build:gradle:3.4.2' }在 gradle.properties 中android.enableJetifier=trueandroid.useAndroidX=trueorg.gradle.jvmargs=-Xmx1536mandroid.enableR8 = true发布 apk 后,jadx 程序可以看到代码 我现在很困惑,有人能告诉我如何混淆 apk 吗?
3 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
打开proguard-rules.pro进行编辑并添加:
# Uncomment this to preserve the line number information for
# debugging stack traces.
-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
-renamesourcefileattribute SourceFile
这会将所有类重命名为不可读的格式。
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
繁华开满天机
TA贡献1816条经验 获得超4个赞
在 Android Gradle Plugin 3.4 上,要启用 R8,您只需将 minifyEnabled 设置为 true。看起来您已将其设置为 false,这会同时禁用 ProGuard 和 R8。R8 是 3.4 中的默认收缩器,所以除了 minifyEnabled 之外你不需要任何设置来启用它。
添加回答
举报
0/150
提交
取消