1.把工程app下的build.gradle的
plugins {
id ‘com.android.application’ 改成 id ‘com.android.library’
}
2.并把app下的build.gradle的
applicationId 删掉
3.同时,要把项目AndroidManifest.xml里的启动页面的删掉
把android:icon="@mipmap/ic_launcher"也删掉,否则会出现两个APP图标,
然后Android studio 工具栏Build->Rebuild Project,就可以了。如果要打
上签名,要在Build->Edit Build Types设置签名
4.打包出来,路径:build/outputs/arr/app-debug.aar
5.如果想打app-release.aar文件,则在Terminal命令行里输入gradlew assembleRelease指令,就生成release.aar了
注:
编译指定模块 gradlew :module:assembleRelease
6.生成release.aar文件后,要测试生成的aar文件能用不。建一个新的工程,把release.aar加到libs里,会发现,
被嵌套的aar文件(项目A中使用的第三方的aar文件)里的方法找不到。然后找到工程->app->build->intermediates-exploded-aar
发现只有新加进去的aar文件包名,没有被嵌套的aar文件包名。
解决方法是,把被嵌套的aar文件,放到新建工程的libs下,然后在build.gradle里重新配置,就可以了
利用Android studio将模块打包成jar包
1.在module的build.gradle文件里面编写 task
task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: “build”) {
//删除已有的jar包
delete ‘build/libs/debug/aac_richtap_sdk.jar’
// 未混淆的jar路径
injars ‘build/intermediates/runtime_library_classes_jar/debug/classes.jar’
// 混淆后的jar输出路径
outjars ‘build/libs/debug/aac_richtap_sdk.jar’
// 混淆协议
configuration ‘proguard-rules.pro’
}
2.在terminal的控制台中输入命令
gradlew makeJar