首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个AAR文件

多个AAR文件
EN

Stack Overflow用户
提问于 2015-05-05 11:44:18
回答 2查看 7.3K关注 0票数 6

我正在使用AndroidStudio1.2

我创建一个私有库,我想在另一个应用程序中使用这个库。

为了使用它,我创建了一个AAR文件,但是这个AAR不工作。我的库中有一个AAR文件的依赖项。

AAR文件不是依赖项吗?

如果我使用jar并包含ans,就可以创建所有的依赖项,项目可以正常工作。

注:

我知道如何处理AAR文件。问题是在AAR中使用AAR。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-06-22 04:59:45

如果我正确理解你的问题,有三个项目涉及:

图书馆工程2->图书馆工程1->应用工程

您正在编辑“库项目1”,并在其应用程序/构建中添加了一个依赖库项目2的aar。就像这样:compile 'com.arasthel:gnavdrawer-library:1.1.5'

我不知道你在哪里遇到一个问题,但我无论如何都会尝试一个答案。如果我完全离题了,你能详细说明一下AAR依赖是如何不起作用的吗?有错误消息吗?没有找到类/资源,等等。

我认为您不太可能无法在库项目1中使用库项目2中的类,因为我只是亲自尝试过,它似乎运行得很好。值得注意的是,库项目1的aar文件将而不是包含来自库项目2的类或资源。如果使用gradle的maven插件发布库项目1,则将作为库项目1的pom中的依赖项被注意到。

我猜您在应用程序项目中有问题吗?也许在应用程序项目中找不到库项目2中的类?如果这是正确的,那么有两个可能的解决方案:

  1. 在应用程序项目的app/build.gradle中启用对aar依赖项的传递依赖:而不是compile 'com.example:myLibrary:versionX',而使其为compile('com.example:myLibrary:versionX'){transitive=true}。我刚刚验证了这一点,使gradle读取库项目1的pom,并自动将那里找到的依赖项添加到应用程序项目中。 如果您希望使用传递依赖项,则您的库项目将需要生成一个pom并与aar一起发布它。有关我是如何工作的其他信息,请参见https://stackoverflow.com/a/30085677/431296
  2. 手动将“库项目2”上的依赖项添加到“应用程序项目”中,以便您的应用程序有两个库的依赖项。根据您的具体情况,这可能是一个可行的解决方案,也可能不是一个可行的解决方案。
票数 8
EN

Stack Overflow用户

发布于 2015-05-05 14:28:08

向项目build.gradle文件添加以下代码,您应该将AAR文件放到libs文件夹中。

代码语言:javascript
复制
repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

最后,将编译信息添加到依赖项中:

代码语言:javascript
复制
dependencies {
    compile(name:'AARFileName', ext:'aar')
}
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30052058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档