如何混淆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 吗?

http://img4.mukewang.com/641bfa910001214116610933.jpg

波斯汪
浏览 145回答 3
3回答

蝴蝶刀刀

打开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这会将所有类重命名为不可读的格式。

拉莫斯之舞

鉴于 proguard 提供简单的混淆技术(它是一种优化器)这一事实,我们开发了一个 APK 混淆器,检查一下:https://github.com/ClaudiuGeorgiu/Obfuscapk

繁华开满天机

在 Android Gradle Plugin 3.4 上,要启用 R8,您只需将 minifyEnabled 设置为 true。看起来您已将其设置为 false,这会同时禁用 ProGuard 和 R8。R8 是 3.4 中的默认收缩器,所以除了 minifyEnabled 之外你不需要任何设置来启用它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java