AndroidStudio 打包生成Jar包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AndroidStudio 打包生成Jar包相关的知识,希望对你有一定的参考价值。

参考技术A 在开发当中,有一些功能我们是不依赖任何Res 资源的,这个时候我们就可以直接提供业务方jar 包,以避免当中出现一些冗余资源如AAR。下面就 androidStudio 3.5.2 版本生成jar 包方式作出笔记。

新建model 就不在此过多赘述。该model是Library 而不是 application。

大家注意 from('build/intermediates/packaged-classes/release/') 这个是 3.+ 版本是这样。2.3 版本呢就不在是该目录了。这也是在实际测时当中遇到的错误问题。

最终执行 makeJar gradle 任务即可,生成jar 包。

Android Studio 打包 jar 及 aar 包

Android Studio 打包 jar 及 aar 包

创建工程

  1. New -> Module -> Library
  2. 在gradle文件头添加 apply plugin: ‘com.android.library’

打包模块

在库工程的 build.gradle 中最下方加入如下配置示例:

// 删除已存在的 Jar 包
task deleteOldJar(type: Delete) 
    delete 'build/libs/analytics.jar'


// 创建 Jar 包
task makeJar(type: org.gradle.api.tasks.bundling.Jar) 
    // 指定生成的jar名
    baseName 'analytics'
    // 指定 cn/soulapp/android/lib 包名目录
    from('build/intermediates/classes/debug/cn/soulapp/android/lib/')
    // jar包的目录结构(文件处于cn/soulapp/android/lib目录下)
    // 生成的jar包没有包名
    into('cn/soulapp/android/lib/')
    //去掉不需要打包的目录和文件
    exclude('BuildConfig.class', 'R.class')
    //去掉R$开头的文件
    exclude  it.name.startsWith('R$'); 

执行命令

./gradlew makeJar

导入依赖

在 app 宿主工程的 build.gradle dependencies 中加入:

    implementation fileTree(dir: 'libs', include: ['*.jar'])

结语

导入完成,您可以将自己的公共模块已 jar 报的形势依赖,达成解耦及复用效果。

以上是关于AndroidStudio 打包生成Jar包的主要内容,如果未能解决你的问题,请参考以下文章

[转]AndroidStudio导出jar包

Android Studio 打包 jar 及 aar 包

Android Studio 打包 jar 及 aar 包

Android Studio 打包 jar 及 aar 包

Eclipse导出jar包Unity打包错误

AndroidStudio如何导入jar,so,以及第三方的开源库?