当前位置: 首页 > 知识库问答 >
问题:

创建使用AAR文件作为依赖项的Android库

厉令
2023-03-14

我想将android库构建为AAR文件,其中包括输出AAR文件中的依赖项。它使用另一个AAR文件作为libs文件夹中的依赖项。

生成库时显示此错误:

构建AAR时不支持直接本地. aar文件依赖项。生成的AAR将被破坏,因为来自任何本地. aar文件依赖项的类和Android资源不会打包在生成的AAR中。

我的程序规则。pro文件是

-dontwarn javax.annotation.Nullable
-dontwarn com.facetec.sdk.**
-keep class com.facetec.sdk.** { *; }

我也试着使用https://github.com/kezong/fat-aar-android库并将facetec sdk模块作为嵌入项目导入,但build命令显示lint错误

共有2个答案

尹俊贤
2023-03-14

尝试在生成中放入依赖项。渐变:应用程序文件此字符串:

api fileTree(dir: 'libs', include: ['*.aar'])
幸乐湛
2023-03-14

我在尝试创建一个android库时遇到了类似的问题,该库依赖于中提供给我的SDK。aar格式。使用较新的AGP(Android Gradle插件)4,不允许在我创建的Android库中编译aar-显示此错误:“为库模块创建aar时,不支持库模块的直接本地.aar文件依赖项…”

我找到了这个链接https://www.programmersought.com/article/63808911660/这个答案很有帮助,也为我提供了编译aar的解决方案,还允许我在android库中导入它的类。

剪短-

  1. Create libs folder, and add /name/.arr file to the libs folder.
  2. In the projects's build.gradle file, under the allprojects scope, under the repositories scope, added
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    } 
    
    api(name: '/name/', ext: 'aar')
    

    它目前可以工作,我希望以后不会有任何问题,但AS给出了一个避免使用flatDirs的警告。但我在这个问题上浪费了太多时间,如果有人有更多的见解,我很乐意接受。

 类似资料:
  • 我正在使用Gradle插件0.9和Android Studio 0.5.4。 我有一个Android库项目,只有一个依赖项。jar位于/libs文件夹中。当我在Proguard激活的情况下运行AssemblerRelease任务时,生成的AAR具有以下结构: 我的图书馆 问题是myJar。jar类被合并到类中。jar by Proguard(当我在没有Proguard的情况下运行时,它不会发生)。

  • 我写了一些库,其中有一部分UI。此外,这个库使用另一个库。我想提供发行版来在任何应用程序中使用这部分UI。 我得库有下一个依赖项: /home/user/projects/mainapp/app/build/intermediates/explodede-aar/com.my.sdk/sdk/0.0.1/res/values/values.xml:78:21-29:找不到与给定名称匹配的资源:at

  • 一切都很好,但在下一次构建之后,我出现了一些错误。 构建AAR时不支持直接的本地. aar文件依赖项。生成的AAR将被破坏,因为来自任何本地. aar文件依赖项的类和Android资源不会打包在生成的AAR中。在这种情况下,以前版本的Android Gradle插件也会产生损坏的AAR(尽管没有抛出此错误)。: app项目的以下直接本地. aar文件依赖项导致了此错误 实现文件('libs/lib

  • 问题内容: 我看到了类似的问题,但未找到可接受的答案。问题-我有一些小功能我自己的android库。我的库使用其他库-fe Hawk(无sql数据库)。我的图书馆gradle文件: 图书馆工作正常。如果我将它用作另一个项目中的项目-它也可以工作。但是当我生成文件(带有-> )并包含到单独的项目中时-失败。项目仅查看我的图书馆的班级。Hawk com.orhanobut.hawk软件包和off其他软

  • 我用aar/apklib格式构建了自己的android libs,现在我正在寻找一种方法,在netbeans中的最终apk项目中使用它们,而不破坏maven构建。问题是:我需要包含生成的lib jar,以便让netbeans乐于为lib找到导入,但是这破坏了maven构建,因为dex发现了重复的构建配置,因为lib在pom.xml中被指定了两次(一次作为apklib/aar,一次作为jar)。

  • 我正在使用maven shade插件创建一个胖罐子,其中也包括一些弹性城堡罐子。但这造成了问题,因为Bouncy Castle的未签名版本。