aar

打包:https://blog.csdn.net/u012588160/article/details/81220556(文章中引用aar 应该放在adroid{}外面,而不是里面)
改文件法:
1,把工程app下的build.gradle的apply plugin: 'com.android.application'
改为 apply plugin: 'com.android.library'
2,删除app下的build.gradle的applicationId
3,把项目AndroidManifest.xml里的启动页面的删掉,把android:icon="@mipmap/ic_launcher"也删掉,否则会出现两个APP图标
4,将代码中的switch语句全部改写成if else语句(Android Studio有快捷修改方式)
5,Android studio 工具栏Build->Rebuild Project。如果要打上签名,要在Build->Edit Build Types中signing标签中设置签名
6,打出来的arr文件位置:工程->build->outputs->arr打包出来,发现打出的是app-debug.aar文件。
如果想打app-release.aar文件,则在Terminal命令行里输入gradlew assembleRelease指令,就可以生成release.aar(用release版)

引用:https://www.jianshu.com/p/b52f10552c55
1,将.aar文件copy到需要使用该aar项目的libs文件夹下
2,配置build.gradle,
apply plugin: 'com.android.application'
android {
xxxx
}
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
dependencies {
implementation(name: 'app-release', ext: 'aar')//(不需要再对aar中的依赖进行再次依赖)
}
3,Rebuild运行成功,直接引用即可,到此完成aar的生成、导出、引用。
4,如果需要直接调用aar中的Activity,需要在manifest文件该activity中进行声明,需要注意的是主项目和aar中不能存在相同id文件,比如布局:如果主项目和aar中都存在activity_main.xml文件,则会导致后调用的文件失效,并且可能报错:java.lang.NoSuchFieldError: No static field .

你可能感兴趣的:(aar)