Android jar生成及其混淆

来源:互联网 发布:服务器主流软件 编辑:程序博客网 时间:2024/05/01 15:11

开发者有时在开发项目需要提供SDK给别人调用,这就需要开发者把自己代码做个jar或者lib或者aar形式提供给出去,在eclipse中往往需要把代码生成jar编译混淆下后和资源文件一并提供,还有一种是做成library形式提供出去,而在studio中我们可以借助gradle生成aar(可包含资源)和jar两种方式去生成我们需要提供的SDK。

Eclipse

  1. 创建一个新项目并编写SDK代码,可以是java项目或者Android项目。如图:项目
  2. 导入jar包(一般为src整个文件)步骤:右键src->Export…->选择java中JAR file 接着next,选择导入路径,点击finish,完成.这里写图片描述这里写图片描述 
    1. 进行混淆,我们使用Android sdk自带的混淆工具proguard来进行混淆,打开sdk目录下tools的proguard的bin(sdk\tools\proguard\bin)下proguardgui.bat这里写图片描述双击打开。出现如下界面这里写图片描述图中1可以导入你自己书写的混淆代码文件,之后next进行配置修改,如果你们混淆文件,也可以手工next去添加。点击next出现:这里写图片描述,图中add input添加要混淆jar包路径,图中out input添加生成混淆jar路径,图中add添加java所需和你引用代码用到的第三方jar、android包。之后next next next 最后process!生成成功这里写图片描述,混淆资料详情可以查看

studio

  1. 也是新建一个项目,并且创建新的module,添加这个module依赖到住项目中,如图:这里写图片描述在这个module来敲写SDK代码。这个就是生成jar的module。如图:这里写图片描述
  2. 添加编译jar导出jar代码,在module的build.gradle文件最后添加这里写图片描述,并且在proguard-rules.pro配置混淆代码:demo比较简单混淆代码如下:这里写图片描述代码如下: 
    task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") {
    delete 'build/outputs/jar/jar2.jar'//删除之前编译混淆jar包
    injars 'build/intermediates/bundles/release/classes.jar'//项目编译但未混淆的jar
    outjars 'build/outputs/jar/jar2.jar'//混淆后的jar路径
    configuration 'proguard-rules.pro'// 混淆配置文件
    }
  3. 在Terminal控制台输入gradlew makeJar这里写图片描述最后编译混淆完这里写图片描述
  4. 在jarlibrary/build/outputs/jar/jar2.jar获取编译混淆的jar包了这里写图片描述
0 0