打包方法:
- 打开Gradle面板 Gradle Projects;
- 选择Library对应的Gradle Task,比如:":testsdk";
- 依次 Tasks > build > assemble (打包release/debug aar) / assembleDebug/ assembleRelease
引用方法:
把 AAR 放入 libs
在 build.gradle 添加 repositories{
flatDir{dirs 'libs'}}
在 build.gradle 添加 dependencies{compile '包名:类库名:版本号@aar'}(dependencies 设置时需要放在 compile fileTree 的上面,否则无法识别)
优点:
- 自己类库可以自己维护自己内部的AAR引用;
- 能像维护libs里的jar类库一样简单;
- dependencies 设置方式和在线解析引用的方式一样;
缺点×:
- dependencies 设置时需要放在 compile fileTree 的上面,否则无法识别.
- dependencies 设置的名字 和 在线解析引用的方式不一样.
- 如在线解析方式:compile 'com.android.support:appcompat-v7:25.3.1.+@aar'
- 如在线解析方式:compile 'com.android.support:appcompat-v7:25.3.1'
- 本地AAR方式:compile 'com.alvin:testsdk:0.0.1@aar'
如何设置正确的本地AAR名称?
- 解压AAR包,看AndroidManifest.xml里的 package="com.alvin.testsdk"
- 对应的就是名称就是 "包名:类库名",比如:com.alvin:testsdk
- 然后必须设置AAR文件名为 "类库名-版本号.aar",比如:testsdk-0.0.1.aar
- 最后拼接正确的版本号就是 com.alvin:testsdk:0.0.1
- 最后compile为 compile 'com.alvin:testsdk:0.0.1@aar'
(debug build 使用 test-debug.aar, release build 使用 test-release.aar,重命名为testsdk-0.0.1.aar)