AS打包生成jar包可以分成两类:
- 第一类是将应用模块application转换成库模块library后生成jar包
- 第二类是通过新建module库模块的方式生成jar包
第一类:将应用模块application转换成库模块library后生成jar包
1、首先打开build.gradle文件,在这个文件我们需要做两个操作:
- 将com.android.application 改成 com.android.library
如图所示:
2、打开清单文件AndroidManifest.xml
- 把无用的去掉 只保留以下代码
如图所示:
这个时候就把应用模块转换成库模块啦,接下来就可以打jar包了。由于生成jar包方式都相同,所以先介绍完两类后再往下走。
第二类:通过新建module方式生成jar包
1、新建module,File->New->New Module...
2、选择Android Library ->Next
3、填写Moudle名称,点击Finish,一个新的Moudle就完成啦
4、这个时候我们来看看生成的build.gradle文件,就是我们需要的库模块
这两类生成方法都是相同的,我下面就拿第一类做演示。
1.首先也是打开module目录下的build.gradle文件,在这个文件我们需要添加下面代码
apply plugin: 'com.android.library'
android {
compileSdkVersion 29
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
//定义打包jar任务
task aidl_jar(type: Copy) {
def name = 'myjar' //Library名称
delete 'libs/' + name + '.jar' //删除已经存在的jar包
from('build/intermediates/aar_main_jar/debug/') //从该目录下加载要打包的文件 不同项目不一样 例 packaged-classes目录下等,根据自己项目在build中找classes.jar所在目录
into('../app/libs') //打包后生成的jar包的存放目录
include('classes.jar') //include、exclude参数过滤,只打包classes文件
rename('classes.jar', name + '.jar') //重命名,根据自己的需求修改
}
//定义执行 在Android Studio右侧 Gradle - Tasks - other - aidl_jar
aidl_jar.dependsOn(build)
2.配置完成后,同步下,在Android Studio右侧 Gradle - Tasks - other - aidl_jar
3.打包完成
这样的话无论Module里是java代码还是aidl等其他文件都打包到jar包里了 在其他项目中引入使用即可
4.使用方法
- 1.把jar包放入项目的libs目录下
- 2.并在要使用的项目中build.gradle文件添加下面代码 然后同步一下
implementation files('libs/myjar.jar')
- 如果有问题对照图片核对一下是否有以下这两行代码
好了 就是这么简单!