android studio 打jar包并混淆

打包并混淆步骤:

1、将项目改成library
在build.gradle中将apply plugin: ‘com.android.application’改为apply plugin: ‘com.android.library’,并注释掉applicationId。

2、生成classes.jar文件
打开studio右侧的Gradle菜单 点开项目下的Tasks下的build下的assembleRelease,然后在在项目的app/build/intermediates/bundles/release目录下就会生成classes.jar,这个就是项目没有混淆之前的jar包。

3、修改依赖

dependencies {
    def state = true //打包时设置为true 运行时设置为false
    if (state) {
        provided files('libs/umeng-analytics-v5.6.4.jar')
    } else {
        compile files('libs/umeng-analytics-v5.6.4.jar')
    }
}

4、混淆
在build.gradle中,更改minifyEnabled为true
并且更改proguard-rules.pro文件的内容。

5、运行task
在build.gradle中添加代码

def vName = '1.0'  //可以自定义的版本号
def vCode = 1
task makeJar(type: Copy, dependsOn: ['build']) {
    from('build/intermediates/bundles/release/')
    into('build/libs')
    include('classes.jar')
    rename('classes.jar', "momo-test${vName}.${vCode}.jar")
}

将鼠标放在makeJar方法上,点击右键,选择运行。
运行之后在app/build/libs下就会有这个没混淆的jar包了。

注意:
1、打包时步骤4中, provided为只打包自己项目中的内容,依赖的jar会提供给别人使用。compile为会将使用的第三方依赖也进行打包,如果使用这种方式的话,记得将第三方提供的混淆文件拷到自己的混淆文件中,否则全部混淆会出bug。
2、最好在android项目中建一个module,然后用module打jar包,这样可省去步骤1,并且可以将测试jar包的代码写在项目中,方便测试。

你可能感兴趣的:(android,android,混淆,打jar包,Studio)