android studio的library不会自动的生成jar文件,有两种方式。
1.需要手动调用jar文件将app目录下面 build/intermediates/classes/release目录的文件导出jar文件,
在这个目录下面运行命令行。
jar cvf test.jar -c .
2.在build.gradle下面加入下面的代码,编辑器下build会直接生成jar文件(或者调用gradle buildLib命令)
//定义一个函数,target是生成jar包的文件名,classDir是class文件所在的文件夹
def makeJar(String target,String classDir){
exec{
executable "jar" //调用jar
args "cvf",target
args "-C", classDir
args "","."
}
}
//新建一个task,名为buildLib,依赖build(build是一个自带的task)
task buildLib(dependsOn:['build']) {
makeJar("mobhero.jar","build/intermediates/classes/release")
}
可参照原文
--------------------------------------------------------------------
另,as导出的arr文件访问方法,可参照
http://stormzhang.com/android/2015/03/01/android-reference-local-aar/
首先Android Library项目的gradle脚本只需要在开头声明
apply plugin: 'com.android.library'
之后就和导出apk文件一样的方法,执行 ./gradlew assembleRelease,然后就可以在 build/outputs/aar 文件夹里生成aar文件
引用本地的aar
生成aar之后下一步就是如何引用本地的aar文件?本地的aar文件并没有像引用jar文件这么简单,官方也没有提供解决方案。好在国外的一些前辈总结出了方法,下面就以test.aar文件为例来详述下方法
1、把aar文件放在一个文件目录内,比如就放在libs目录内
2、在app的build.gradle文件添加如下内容
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
3、之后在其他项目中添加一句gradle依赖便方便的引用了该library
dependencies {
compile(name:'test', ext:'aar')
}