jar包只能打包Java文件,但是如果你的功能模块中含有比较多的资源文件,图片、布局文件等就不能打包成aar的格式了。如果资源文件很少,打成jar包还是比较简便的。
1.无其他依赖的模块打包成单个aar文件
1.新建工程,并且新建一个Module。
选择Android Library->Next
填写任意名字,选择Finish
2.将要打包的文件都按照文件夹的位置放入你的Module中【注意查看你的包名以及引用的类名,导入过程中可能需要重新导入引用类,建议将import和package先删除,之后再Alt+Enter导入】
3.查看Manifest等清单文件是否有遗漏,若没有则点击Build->Build APK。此时将会在myLibrary->build->outputs->aar中找到生成的aar文件
2.有其他依赖项的Module打包成aar
2.1依赖中只有jar包
这个与一般的工程中导入第三方库的方式一样,导入成功以后,查看你需要打包的module的gradle文件就行了。如果成功导入gradle文件中dependency会出现compile'xxxx.jar'
然后根据上面编译apk的方法形成你的aar文件。
2.2依赖中含有aar包
需要使用一个文件fat-aar.gradle←详情可戳。
1.首先加入fat-aar.gradle文件,并且在Module的gradle的依赖,在与dependency同等级的地方加入
apply from:'fat-aar.gradle'
dependencies{
xxxxxxxxx
//如果是aar文件就用 name中只需要名字不需要后缀.aar
embedded(name:'xxxxx',ext:'aar')
//如果是jar文件就用 jar包所在的文件夹的名字/jar包名
compile 'lib/xxxx.jar'
}
然后build apk就行了
3.是否把jar包或者aar包打到新的aar包中
在module的gradle中的dependencies中 不需要打包的用provided编译,需要打包的用compile编译
有的时候如果把所有的依赖项都打包的话,加到新的工程中会出现重复依赖的错误,所以要对打包的依赖项进行判断
dependencies{
//原有的aar文件不导入新的aar
provided (name:'xxxx',ext:'aar')
//原有的jar文件不导入新的aar
provided 'lib/xxxx.jar'
}