AS开启混淆会把第三方jar合并到输出jar

1、一般来说,Android Studio要开启混淆需要两步
1)在对应库项目的build.gradle 文件设置开启:

 buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

2)在跟build.gradle同一目录下的proguard-rules.pro配置对应的混淆规则即可
2、但是,要是你是用以下方式引用第三库的话:

    implementation fileTree(dir: 'libs', include: ['*.jar'])

或者

    api fileTree(dir: 'libs', include: ['*.jar'])

或者

    compile fileTree(dir: 'libs', include: ['*.jar'])

然后,通过AS侧边栏gradle-projects-项目名-tasks-assembleRelease,打包成混淆jar:
在这里插入图片描述
3、你会发现,你通过implementation或者compile引用的第三方jar也合并进了混淆的jar
这时候,只需要,把第二步的第三方库引用方式改为:

compileOnly fileTree(dir: 'libs', include: ['*.jar'])

即可实现打出来的混淆jar只有你自己写的代码,而不包含第三方代码

发布了36 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43278826/article/details/96282888