多个AAR文件

Dav*_*tos 6 android android-studio aar

我使用的是Android Studio 1.2

我创建了一个私有库,我想在另一个应用程序中使用它.

要使用它我创建一个AAR文件,但这个AAR不起作用.我的库中有一个对AAR文件的依赖.

AAR文件不依赖?

如果我使用jar,我包括创建所有依赖项,项目工作正常.

注意 :

我知道如何导入AAR文件.问题是在AAR中使用AAR ..

谢谢.

Sta*_*iel 8

如果我正确理解您的问题,则涉及3个项目:

图书馆计划2 - >图书馆计划1 - >应用项目

您正在编辑"图书馆计划1",并已添加到它的app/build.grade对图书馆计划2的aar的依赖.像这样的东西:compile 'com.arasthel:gnavdrawer-library:1.1.5'

我不知道你在哪里遇到问题,但无论如何我都会尝试回答.如果我完全偏离基础,你能详细说明AAR依赖是如何工作的吗?任何错误消息?,找不到类/资源等.

我认为你不可能在图书馆计划1中使用图书馆计划2中的一个类,因为我自己尝试了这个并且似乎工作得很好.值得注意的是,Library Project 1 aar文件不会包含来自Library Project 2的类或资源.如果使用gradle的maven插件发布Library Project 1,则Library Project 2 被注释为Library Project 1的pom中的依赖项.

我的猜测是你在应用程序项目中遇到问题?也许应用程序项目中找不到Library Project 2中的类?如果这是正确的,那么有两种可能的解决方案:

  1. 在Application项目的app/build.gradle中启用对aar依赖项的传递依赖:而不是compile 'com.example:myLibrary:versionX'make it compile('com.example:myLibrary:versionX'){transitive=true}.我刚刚验证了这导致gradle读取Library Project 1的pom并自动将其中的依赖项添加到Application Project中.

    如果您想使用传递依赖项,您的图书馆计划将需要生成一个pom并将其与aar一起发布.有关如何使用此功能的其他信息,请参阅/sf/answers/2105997421/.

  2. 手动将库项目2的依赖项添加到应用程序项目 - 以便您的应用程序具有两个库的依赖项.根据您的具体情况,这可能是也可能不是可行的解决方案.


cod*_*zjx -2

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

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

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

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