Android Studio将Module打包成jar包

1,235 阅读2分钟

AS打包生成jar包可以分成两类:

  • 第一类是将应用模块application转换成库模块library后生成jar包
  • 第二类是通过新建module库模块的方式生成jar包

第一类:将应用模块application转换成库模块library后生成jar包

1、首先打开build.gradle文件,在这个文件我们需要做两个操作:

  • 将com.android.application 改成 com.android.library

如图所示:

image.png

2、打开清单文件AndroidManifest.xml

  • 把无用的去掉 只保留以下代码

如图所示:

image.png

这个时候就把应用模块转换成库模块啦,接下来就可以打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

image.png

3.打包完成

image.png

这样的话无论Module里是java代码还是aidl等其他文件都打包到jar包里了 在其他项目中引入使用即可

4.使用方法
  • 1.把jar包放入项目的libs目录下

image.png

  • 2.并在要使用的项目中build.gradle文件添加下面代码 然后同步一下
implementation files('libs/myjar.jar')
  • 如果有问题对照图片核对一下是否有以下这两行代码

image.png

好了 就是这么简单!