您的位置:首页 > 移动开发 > Android开发

Android jar生成及其混淆

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


Eclipse

创建一个新项目并编写SDK代码,可以是java项目或者Android项目。如图:


导入jar包(一般为src整个文件)步骤:右键src->Export…->选择java中JAR file 接着next,选择导入路径,点击finish,完成.



 

进行混淆,我们使用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

也是新建一个项目,并且创建新的module,添加这个module依赖到住项目中,如图:

在这个module来敲写SDK代码。这个就是生成jar的module。如图:


添加编译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'// 混淆配置文件

}


在Terminal控制台输入gradlew makeJar

最后编译混淆完


在jarlibrary/build/outputs/jar/jar2.jar获取编译混淆的jar包了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: