Android 多个AAR文件
我正在使用Android Studio 1.2 我创建了一个私有库,我想在另一个应用程序中使用它 为了使用它,我创建了一个AAR文件,但这个AAR不起作用。我的库中有一个AAR文件的依赖项 AAR文件不包含依赖项吗 如果我使用jar并包含ans来创建所有依赖项,那么项目就可以正常工作 注意: 我知道如何导入AAR文件。问题是在AAR中使用AARAndroid 多个AAR文件,android,android-studio,aar,Android,Android Studio,Aar,我正在使用Android Studio 1.2 我创建了一个私有库,我想在另一个应用程序中使用它 为了使用它,我创建了一个AAR文件,但这个AAR不起作用。我的库中有一个AAR文件的依赖项 AAR文件不包含依赖项吗 如果我使用jar并包含ans来创建所有依赖项,那么项目就可以正常工作 注意: 我知道如何导入AAR文件。问题是在AAR中使用AAR 谢谢。将以下代码添加到project build.gradle文件中,您应该将AAR文件放到libs文件夹中 repositories { ma
谢谢。将以下代码添加到project build.gradle文件中,您应该将AAR文件放到libs文件夹中
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
最后,将编译信息添加到依赖项:
dependencies {
compile(name:'AARFileName', ext:'aar')
}
如果我正确理解您的问题,则涉及3个项目: 库项目2-->库项目1-->应用程序项目 您正在编辑“Library Project 1”,并已添加到它的app/build.grade依赖于Library Project 2的aar。类似这样的内容:
compile'com.arasthel:gnavdrawer-library:1.1.5'
我不确定你在哪里遇到了问题,但我还是会尝试回答。如果我完全偏离了基准,你能详细说明AAR依赖项是如何不起作用的吗?任何错误消息?、未找到类/资源等
我认为您不太可能无法在库项目1中使用库项目2中的类,因为我自己刚刚尝试过,它似乎工作得很好。值得注意的是,libraryproject1aar文件将不包含libraryproject2中的类或资源。如果使用gradle的maven插件发布库项目1,库项目2将在库项目1的pom中作为依赖项进行发布
我猜您在应用程序项目中遇到了问题?可能在应用程序项目中找不到库项目2中的类?
如果这是正确的,那么有两种可能的解决方案:
compile'com.example:myLibrary:versionX'
,使其compile('com.example:myLibrary:versionX'){transitive=true}
。我刚刚验证了这会导致gradle读取库项目1的pom,并自动将在其中找到的依赖项添加到应用程序项目中
如果您想使用可传递依赖项,您的库项目将需要生成pom并将其与aar一起发布。请参阅,以获取有关如何使其工作的更多信息你问题的第二行似乎与最后一行相冲突。如果您希望在另一个AAR中依赖AAR,这意味着您希望在库项目中使用AAR,但第二行表示“我希望在另一个应用程序中使用该AAR”找到解决方案了吗?使用
gradlew uploadArchives
将库项目发布到本地maven repo比将libs文件夹添加为本地存储库要好得多。这里有一些关于这样做的信息:你的计划是好的。我有4个库项目2,但这并不能改变问题。实际上,我只希望有一个包含所有依赖项的AAR文件。现在,我们将库项目2作为应用程序项目的依赖项,与库项目1一起使用。这有点混乱。好吧,听起来你已经在使用选项2(手动向应用程序添加额外的依赖项)。使用可传递依赖项(选项1)将允许您在库项目1中指定依赖项一次。@StanKurdziel我刚刚尝试了您的建议,它对我很有吸引力。以下是我的问题的链接: