我知道这个问题的: 添加本地文件.aar我gradle这个建造 ,但解决方案并不为我工作。
我尝试添加这种说法对我的最高级别build.gradle
文件:
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
我也把slidingmenu.aar
文件到/libs
,并在引用它dependencies
部分: compile 'com.slidingmenu.lib:slidingmenu:1.0.0@aar'
,但它并没有在所有的工作。
我试图compile files('libs/slidingmenu.aar')
以及,但没有运气。
我在想什么? 有任何想法吗?
PS过Android Studio 0.8.2
Answer 1:
在约西亚的答案的基础上,这里就是我得到了它的工作。
在他的指令(下编辑)( 文件- >新建- >新建模块- >导入.JAR / .AAR)并导入.AAR。
然后在你的项目的build.gradle(不是顶级,下设“应用”之一)添加以下(相关内容部分):
dependencies {
compile project(':Name-Of-Your-Project')
}
注意名称-OF-你的项目应符合您所导入的AAR文件后(在同一水平作为加入该文件夹的名称app/.idea
下的最顶层文件夹)。 或者换一种说法...
MyApplication
.idea
app
build.gradle (here's where to add compile project(':ProjectName') to dependency section)
ProjectName (added automatically after importing, matching the name of your aar file)
build
gradle
etc
这为我工作运行Android 0.8.0工作室。 不要忘记的gradle同步(使用工具栏按钮或在文件- >同步 ),你这样做了。
(感谢约西亚你为我在正确的方向前进)
(注:在此之前,我试图将它添加到libs文件夹,试图操纵顶级build.gradle
和应用级build.gradle
,但没有奏效我AARS文件-罐子的将正常工作,但不AAR的文件)
Answer 2:
更新 :由于@ amram99提到的, 问题已得到修复由于Android工作室V1.3的发布。
经过测试,与下面的规格验证
- Android的工作室V1.3
- gradle这个插件V1.2.3
- 摇篮V2.4
什么工作现在
老答:在最近更新的人机器人通过Android Studio的添加新的模块菜单选项打破了当地的AAR文件中包含的。 检查问题这里列出。 无论任何进入和退出IDE的功能列表中,当涉及到与当地的AAR文件的工作方法如下工作(今天测试了它):
放入libs目录(如果需要创建它),那么,在你的build.gradle中添加以下代码AAR文件:
dependencies {
compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
}
repositories{
flatDir{
dirs 'libs'
}
}
Answer 3:
编辑:正确的方法(目前)使用本地文件AAR作为构建依赖是使用模块导入向导(文件|新建模块|进口.JAR或.AAR包),它会自动添加.aar作为库模块在您的项目。
老回答
试试这个:
allprojects {
repositories {
jcenter()
flatDir {
dirs 'libs'
}
}
}
...
compile(name:'slidingmenu', ext:'aar')
Answer 4:
我在Android 2.1工作室这个工作。 我有一种叫做跨多个项目共享“Native_Ads”模块。
首先,我在Native_ads模块名称为“AARS”创建一个目录,然后把AAR文件在那里。
目录结构:
libs/
aars/ <-- newly created
src/
build.gradle
etc
然后,其他的变化:
顶级摇篮文件:
allprojects {
repositories {
jcenter()
// For module with aar file in it
flatDir {
dirs project(':Native_Ads').file('aars')
}
}
}
应用模块的build.gradle文件: - 无变化
Settings.gradle文件(包括模块):
include ':app'
include 'Native_Ads'
project(':Native_Ads').projectDir = new File(rootProject.projectDir, '../path/to/Native_Ads')
对于Native_Ads模块摇篮文件:
repositories {
jcenter()
flatDir {
dirs 'aars'
}
}
dependencies {
compile(name:'aar_file_name_without_aar_extension', ext:'aar')
}
而已。 清理并生成。
Answer 5:
现在最简单的方法是将其添加为一个模块
这将创建一个包含AAR文件一个新的模块,所以你只需要包括模块作为一个依赖事后
Answer 6:
你可以这样来做。 它需要在Maven格式去:
repositories {
maven { url uri('folderName')}
}
然后你需要AAR在一组ID为“com.example”的文件夹结构去:
folderName/
com/
example/
verion/
myaar-version.aar
然后引用作为依赖性:
compile 'com.example:myaar:version@aar'
其中version
是您的AAR文件的版本(即3.0等)
Answer 7:
这是我的结构,以及如何解决这个问题:
MyProject的/应用/库/ mylib中,1.0.0.aar
MyProject的/应用/ myModulesFolder / myLibXYZ
上的build.gradle
从项目/应用/ myModulesFolder / myLibXYZ
我已经把这个:
repositories {
flatDir {
dirs 'libs', '../../libs'
}
}
compile (name: 'mylib-1.0.0', ext: 'aar')
完成并工作正常,我的子模块XYZ依赖于从主模块somelibrary。
Answer 8:
对于任何人谁都有这个问题,因为Android Studio中1.4的,我把它通过创建包含两件事情该项目中的模块工作。
具有以下内容的build.gradle:
configurations.create("default")
artifacts.add("default", file('facebook-android-sdk-4.7.0.aar'))
AAR的文件(在本实施例中的Facebook-Android的SDK-4.7.0.aar')
然后,包括新的库作为模块依赖。 现在,您可以使用内置AAR不包括在项目中的来源。
感谢Facebook的这个黑客。 我找到了解决办法,同时集成了Android SDK到项目。
Answer 9:
在我的情况下上述答案的没有工作! 因为我有不同的productFlavors只是增加repositories{ flatDir{ dirs 'libs' } }
不工作! 我结束了指定库目录的确切位置:
repositories{
flatDir{
dirs 'src/main/libs'
}
}
猜应该引进这样的flatDirs时,有在不同的build.gradle productFlavors
Answer 10:
就我而言,我只是把库的AAR文件,并添加
dependencies { ... api fileTree(dir: 'libs', include: ['*.aar']) ... }
在的build.gradle和它的作品。 我认为这是默认生成的依赖类似:
implementation fileTree(dir: 'libs', include: ['*.jar'])
文章来源: Adding local .aar files to Gradle build using “flatDirs” is not working