如何在Android Studio添加本地aar包引用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android Studio添加本地aar包引用相关的知识,希望对你有一定的参考价值。

     在windows7操作系统中android Studio添加本地jar包的方法如下:

1、打开Android项目,把本地ar包复制到目录中libs文件中,如下图:

2、然后在libs文件夹选择添加的*.jar文件下右键鼠标然后选择 add as library选项,如下图:

3、当jar包可以展开后,表示android studio已经导入了第三方jar包,已经可以使用了,如下图:

参考技术A 1.导入jar包: a. 将使用的jar包直接复制到上图的libs目录下.
b.右键点击该jar包,选择底部的 add as library 项,点击后出现对话框,选择需要导入jar包的项目后ok.
c.点击ok后 ,自动构建项目后再看lib下的jar包,可以看见jar内的类和信息. 导入成功. 2.导入arr包:
这是我之前导包时出现的错误:
Error:Project app: Only Jar-type local dependencies are supported. Cannot handle: D:\Workspace\MyStudioWorkSpace\PersonalMedia\app\libs\slidelibrary-debug.aar // 意思应该就是仅支持本地依赖
a.同jar包一样复制到libs目录下面
b.找到该moudle的build.gradle文件 ,加入
repositories
flatDir dirs 'libs' //作用是添加一个本地仓库,并把libs目录当做仓库地址 C.在dependencies 里加一行代码
compile(name: 'aar-name', ext: 'arr')
重新构建项目 ,在app/build/intermediates目录下就能查看到aar的内容了.

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 报的形势依赖,达成解耦及复用效果。

以上是关于如何在Android Studio添加本地aar包引用的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 生成aar包,并在其他项目中引用

Android Studio中打包aar并引用及打jar包

Android Studio中打包aar并引用及打jar包

Android Studio中打包aar并引用及打jar包

(转载) Android studio如何生成aar包

Android Studio 打包 jar 及 aar 包