打包方法:

  1. 打开Gradle面板 Gradle Projects;
  2. 选择Library对应的Gradle Task,比如:":testsdk";
  3. 依次 Tasks > build > assemble (打包release/debug aar) / assembleDebug/ assembleRelease

 

引用方法:

  1. 把 AAR 放入 libs
  2. 在 build.gradle 添加 repositories{flatDir{dirs 'libs'}}
  3. 在 build.gradle 添加 dependencies{compile '包名:类库名:版本号@aar'}(dependencies 设置时需要放在 compile fileTree 的上面,否则无法识别)

优点:

    1. 自己类库可以自己维护自己内部的AAR引用;
    2. 能像维护libs里的jar类库一样简单;
    3. dependencies 设置方式和在线解析引用的方式一样;

缺点×:

    1. dependencies 设置时需要放在 compile fileTree 的上面,否则无法识别.
    2. 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名称?

  1. 解压AAR包,看AndroidManifest.xml里的 package="com.alvin.testsdk"
  2. 对应的就是名称就是 "包名:类库名",比如:com.alvin:testsdk
  3. 然后必须设置AAR文件名为 "类库名-版本号.aar",比如:testsdk-0.0.1.aar
  4. 最后拼接正确的版本号就是 com.alvin:testsdk:0.0.1
  5. 最后compile为 compile 'com.alvin:testsdk:0.0.1@aar'

(debug build 使用 test-debug.aar, release build 使用 test-release.aar,重命名为testsdk-0.0.1.aar)

05-11 18:16