如何在库模块中添加.aar依赖?

Swa*_*ati 22 android gradle android-studio build.gradle android-gradle-plugin

我有.aar一个库模块的文件.
我想在我的其他项目的库模块中将它用作库或依赖项.
我该怎么做?

我尝试了以下链接提供的选项:http:
//kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/

它只有.aar在我的项目的应用程序模块中添加引用时才有效.但不在图书馆模块中工作.

谢谢.

Pha*_*inh 41

按照此设置,您将能够.aar向库模块添加依赖项

build.gradle(项目:....)

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        flatDir {
            dirs 'libs'
            dirs project(':library_module').file('libs')
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

build.gradle(模块:app)

dependencies {
    ...
    compile project(':library_module')
}
Run Code Online (Sandbox Code Playgroud)

build.gradle(Module:library_module)

dependencies {
    ...
    compile(name:'aar_file_name', ext:'aar')
}
Run Code Online (Sandbox Code Playgroud)

settings.gradle(项目设置)

include ':app', ':library_module'
Run Code Online (Sandbox Code Playgroud)

  • dirs project(':library_module').file('libs')完成工作 (7认同)

Gab*_*tti 12

在您需要aar文件的所有模块(库或应用程序)中,您必须build.gradle在存储库中添加:

repositories {
    flatDir {
        dirs 'libs'
    }
}
Run Code Online (Sandbox Code Playgroud)

并添加依赖项:

dependencies {
   compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
 }
Run Code Online (Sandbox Code Playgroud)

您可以使用顶级文件添加存储库,但不能在顶级文件中添加依赖项.
请注意您在模块中使用的libs文件夹的相对路径.


Nou*_* Ch 8

抱歉,过程涉及 10 个步骤,但这些步骤非常简单易行。

1-新建->模块

在此处输入图片说明

2-选择导入 .jar/aar 包

在此处输入图片说明

3-从位置选择您的 .aar 文件

在此处输入图片说明

4-我们可以看到模块已添加但尚未配置应用模块。

在此处输入图片说明

5-转到项目结构

在此处输入图片说明

6-当前的项目结构是这样的

在此处输入图片说明

7-转到应用模块并按“+”图标

在此处输入图片说明

8-选择第三个选项模块依赖

在此处输入图片说明

9-选择新添加的 .arr 模块

在此处输入图片说明

10-您可以看到附加了应用程序模块的新模块。现在点击应用。

在此处输入图片说明

你可以看到我们很高兴。 在此处输入图片说明


Som*_*ere 5

我做的和其他人在这里发布的有点不同......

我的主要目标是创建一个库模块,其中包含我需要的所有 jar 和 aar。我的主项目将依赖于这个库模块——我只想要主项目的 build.gradle 中的一行来链接这个依赖项。

  1. 在项目中添加一个新的库模块:File -> New -> New Module -> Android Library

  2. 在库模块中,打开 build.gradle 并添加:

// so that the library project can locate the aar in /libs
repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation fileTree(include: ['*.aar'], dir: 'libs')
}
Run Code Online (Sandbox Code Playgroud)

现在您可以将所有 jar 和 aar 放入库模块的 /libs 文件夹中。奖励:不管库名是什么,它都会被自动发现

  • 我找不到这个问题的答案。像这样的答案有数百个,但似乎没有一个对我有用。错误是“构建 AAR 时不支持直接本地 .aar 文件依赖项”。生成的 AAR 将被破坏,因为任何本地 .aar 文件依赖项中的类和 Android 资源都不会打包在生成的 AAR 中。 (2认同)