我正在使用AndroidStudio1.2
我创建一个私有库,我想在另一个应用程序中使用这个库。
为了使用它,我创建了一个AAR文件,但是这个AAR不工作。我的库中有一个AAR文件的依赖项。
AAR文件不是依赖项吗?
如果我使用jar并包含ans,就可以创建所有的依赖项,项目可以正常工作。
注:
我知道如何处理AAR文件。问题是在AAR中使用AAR。
谢谢。
发布于 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中的类?如果这是正确的,那么有两个可能的解决方案:
compile 'com.example:myLibrary:versionX',而使其为compile('com.example:myLibrary:versionX'){transitive=true}。我刚刚验证了这一点,使gradle读取库项目1的pom,并自动将那里找到的依赖项添加到应用程序项目中。
如果您希望使用传递依赖项,则您的库项目将需要生成一个pom并与aar一起发布它。有关我是如何工作的其他信息,请参见https://stackoverflow.com/a/30085677/431296。发布于 2015-05-05 14:28:08
向项目build.gradle文件添加以下代码,您应该将AAR文件放到libs文件夹中。
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}最后,将编译信息添加到依赖项中:
dependencies {
compile(name:'AARFileName', ext:'aar')
}https://stackoverflow.com/questions/30052058
复制相似问题