我有一个库模块的.aar
个文件
我想在我的其他项目的库模块中将它用作库或依赖项
我该怎么做?
我尝试了以下链接提供的选项:
http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/
仅当我在项目的应用程序模块中添加.aar
引用时,它才有效。但不在图书馆模块中工作。
感谢。
答案 0 :(得分:40)
按照此设置,您可以将.aar
依赖项添加到库模块
build.gradle(项目:....)
allprojects {
repositories {
jcenter()
mavenCentral()
flatDir {
dirs 'libs'
dirs project(':library_module').file('libs')
}
}
}
build.gradle(模块:应用)
dependencies {
...
compile project(':library_module')
}
build.gradle(Module:library_module)
dependencies {
...
compile(name:'aar_file_name', ext:'aar')
}
settings.gradle(项目设置)
include ':app', ':library_module'
答案 1 :(得分:12)
在您需要aar文件的所有模块(库或应用程序)中,您必须在build.gradle
存储库中添加:
repositories {
flatDir {
dirs 'libs'
}
}
并添加依赖项:
dependencies {
compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
}
您可以使用顶级文件添加存储库,但不能在顶级文件中添加依赖项。
请注意您在模块中使用的libs文件夹的相对路径。
答案 2 :(得分:2)
答案 3 :(得分:1)
我所做的与其他人在此处所做的有所不同...
我的主要目标是创建一个库模块,其中包含我需要的所有jar和aar。然后,我的主项目将依赖于此库模块-我只希望主项目的build.gradle中的一行可以链接此依赖项。
向项目添加新的库模块:File-> New-> New Module-> Android Library
在库模块中,打开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') }
现在您可以将所有jar和aar弹出到库模块的/ libs文件夹中。 奖励:无论库名是什么,都将自动发现
答案 4 :(得分:1)