• 【区别方法】:

  1. 自定义的模块并向第三方提供API接口,所以需要对生成的jar包进行混淆;

  2. 想通过在buid.gradle 中做如下配置:task makeJar(type: Copy) {delete 'build/libs/playapi.jar'from('build/intermediates/bundles/release/')into('classes.jar','playapi.jar'makeJar.dependsOn(build)buildTypes {release {minifyEnabled tureproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'};

  3. 再通过cmd命令生成jar包,如果不进行混淆即: minifyEnabled true-》 minifyEnabled false,能正常生成jar包并使用,但设置为混淆后出现以下错误。

  1. //混淆,新版本是ninifyEnabled不再是runproguardminifyEnabled true //加载默认混淆 配置文件 及自定义混淆配置;

  2. proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard.cfg'设置minifyEnabled true,就会在打包的时候进行代码混淆处理. 其中proguard-android.txt不用管,在sdk目录里面,主要是配置了proguard.cfg文件;

  3. 直接在android studio创建项目不会有这个文件,而是 proguard-rules.pro文件,其实一样的,因为项目是从eclipse迁移过来的,之前在eclipse上混淆是 proguard.cfg文件.

自定义的模块并向第三方提供API接口,所以需要对生成的jar包进行混淆。
想通过在buid.gradle 中做如下配置:
task makeJar(type: Copy) {
delete 'build/libs/playapi.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
rename('classes.jar', 'playapi.jar')
}
makeJar.dependsOn(build)
buildTypes {
release {
minifyEnabled ture
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
再通过cmd命令生成jar包,如果不进行混淆即: minifyEnabled true-》 minifyEnabled false,能正常生成jar包并使用,但设置为混淆后出现以下错误:

在网上查询了下,应该是未对混淆的配置文件进行配置,小弟初次通过该方法混淆,但网上很多说的不是很清楚,请各位指出下到底该怎么配置,谢谢!

更多学习内容可参考