如何混淆 android apk
how to obfuscate android apk
嗨,我想混淆我的 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=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m
android.enableR8 = true
发布apk后,jadx程序可见代码
我现在很困惑,有人可以告诉我如何混淆 apk 吗?
打开 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
这会将所有 类 重命名为不可读的格式。
在 Android Gradle 插件 3.4 上,要启用 R8,您只需将 minifyEnabled 设置为 true。看起来您已将其设置为 false,这会同时禁用 ProGuard 和 R8。 R8 是 3.4 中的默认收缩器,所以除了 minifyEnabled 之外你不需要任何设置来启用它。
鉴于混淆器提供了简单的混淆技术(它是一种优化器)这一事实,我们开发了一个 APK 混淆器,请查看:
嗨,我想混淆我的 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=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m
android.enableR8 = true
发布apk后,jadx程序可见代码
我现在很困惑,有人可以告诉我如何混淆 apk 吗?
打开 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
这会将所有 类 重命名为不可读的格式。
在 Android Gradle 插件 3.4 上,要启用 R8,您只需将 minifyEnabled 设置为 true。看起来您已将其设置为 false,这会同时禁用 ProGuard 和 R8。 R8 是 3.4 中的默认收缩器,所以除了 minifyEnabled 之外你不需要任何设置来启用它。
鉴于混淆器提供了简单的混淆技术(它是一种优化器)这一事实,我们开发了一个 APK 混淆器,请查看: