Android(安卓)Studio 将Library打包成jar或aar包
在eclipse中导出jar包,对于老司机们来说再熟悉不过了,对于新手来说也很简单(不知道还有没有Android新手在用eclipse开发工具了),鼠标咔咔几下jar包就出来了。不过,AS中打jar包也挺简单,就是多几行代码而已。
一、打包成jar
首先自己新建一个工程,然后添加module并依赖;如下图:
slidingmenuhbh为添加的library
打开要打包为jar的library的build.gradle,添加如下代码:
task makeJar(type: Copy) { delete 'build/libs/SlidingMenuHbh.jar' //删除已经存在的jar包,如果有的话 from('build/intermediates/bundles/default/')//从该目录下加载要打包的文件,注意文件夹名称有可能为default,也可能是release,自己看一下 into('build/libs/')//jar包的保存目录 include('classes.jar')//设置过滤,只打包classes文件 rename('classes.jar', 'SlidingMenuHbh.jar')//重命名,SlidingMenuHbh.jar 名字自己随便起}makeJar.dependsOn(build)
然后编译一下,在Terminal终端输入 gradlew makeJar 回车,开始打包。首次打包时间稍微长一点,需要下载一些依赖,耐心等待,如果出现 BUILD SUCCESSFUL ,如下图:
说明打包成功,直接在build -> libs下找到jar就ok了,至此打包结束。如下图:
补充:过程中可能出现的问题:
1、打包过程中报错如下:
Error:Execution failed for task ':slidingmenuhbh:lint'.> Lint found errors in the project; aborting build.Fix the issues identified by lint, or add the following to your build script to proceed with errors:...android { lintOptions { abortOnError false }}...
解决方法:如错误所示,在android节点中加上:
lintOptions { abortOnError false }
重新编译,打包。
2、在Terminal终端输入 gradlew makeJar 提示无效,没有配置gradle环境变量,配置上即可;
二、打成aar包
aar包是Android studio 下打包Android工程中src、res、lib后生成的aar文件(与Jar包最大的不同是Jar包不包含资源文件,而aar包中是包含的),是Google为Android studio专门推出的一种库文件格式,eclipse中不能直接导入使用,要想使用的话需要转成library,下面会单独再说。
其实打aar包基本不需要什么操作,依赖的library只需要 Rebuild Project 之后就能生成,在build -> outputs -> aar 文件夹下就能找到,如图:
将aar文件拷贝出来就可以用了,就是这么简单。
补充:推荐使用aar包而不是jar包,原因在于aar包中包含资源文件,而jar包中是没有的,在使用的方便程度上来讲aar是要方便很多的。
三、Eclipse中使用aar包
即便是现在也有好多开发者在用eclipse开发程序,或者来说一些很老的项目都是一直用eclipse开发的,不愿打破原有的项目结构,但同时需要用到一些当下好的第三方组件,这个时候如果去百度的话,绝大多数都是直接compile,或者有些aar包,单纯的jar包基本没有,很少很少,即便是有也是早期的版本,这个时候就需要将aar包转成library,以依赖库的形式使用。
方法也很简单:
1、将xxx.aar文件解压(后缀改成zip解压即可);
2、在解压得到的目录里面创建libs文件夹,然后将classes.jar文件和jni文件夹下的所有文件都移到libs文件夹下;
3、将proguard.txt文件的内容拷贝到你的项目的proguard-project.txt文件中(如果没有可以忽略此步骤);
4、在解压得到的目录里创建project.properties文件,内容如下:(target版本与自己项目中的一致);
5、删除aapt和jni文件夹以及R.txt和proguard.txt文件(如果有R.txt和proguard.txt文件的话)。
好了,这样一个Eclipse Library项目就构建完成了,使用方式和往常一样导入使用就ok了。
如图(aar包刚解压状态 与 构建library之后 对比)
就说这么多吧,
到此结束。
更多相关文章
- android导入外部已存在的数据库大于1M的数据库文件方法
- Android(安卓)修改R包名方法
- Android(安卓)从 assets和res中读取文件
- android工程中引入第三方JAR包后安装APK时老是提示找不到库文件
- Uniapp打包apk,添加/res/raw目录资源
- Android使用SVG小结
- Android批量打不同的渠道包方法-使用第三方插件
- Android碎片机制
- Android(安卓)为不同的语言和硬件创建资源