【问题标题】:Add gradle dependencies(build.gradle) in .aar file Android在 .aar 文件 Android 中添加 gradle 依赖项(build.gradle)
【发布时间】:2021-01-07 07:52:27
【问题描述】:

我有一个使用第三方库的 android 库项目。我已经创建了它的 .aar 文件并将 .aar 文件导入到另一个项目中。导入了类和资源,但不导入 gradle 库。我不想在项目中再次提及这些依赖项。 有什么方法可以使用 .aar 文件或其他包含 build.gradle 或依赖项的文件导入该项目。

【问题讨论】:

标签: java android android-studio gradle aar


【解决方案1】:

如果您将此库包含在 dependencies 块中,请尝试使用 api 而不是 implementation

【讨论】:

  • 目前我正在使用implementation (name: 'my-library', ext: 'aar') 当我尝试与api 相同时,得到相同的依赖项错误,而不是发现者。我在项目的libs 文件夹中添加了.aar 文件,并通过flatDir{ dirs 'libs' } 提到它在应用程序级gradle 中的位置,您能否告诉api 导入语句的正确格式。
  • 我直接评论问题,在花了一些时间思考之后我意识到,这不是包含问题,而是导出问题。所以在更新库后尝试使用implementationapi,我认为你使用正确,如果需要api,请告诉我
  • 我已经给出了一个对我有用的解决方案,我需要你检查一次。
【解决方案2】:

AAR 文件不包含app/build.gradle 中提到的外部依赖项,因此我们不是直接添加它,而是上传到本地 maven 并集成它。

要将其上传到本地 maven,您可以在 app/build.gradle 中添加以下函数

apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file://localhost" + System.getenv("HOME") + "/.m2/repository")
            pom.version = '1.0-SNAPSHOT'
            pom.groupId = 'your.package'
            pom.artifactId = 'sdk-name'
        }
    }
}

您可以根据自己的使用方式更改 pom 版本、groupId 和 artifactId。

如果此过程完成,您可以集成库。

  • 在您要添加的项目的app/build.gradle 库指定路径。

    implementation 'your.package:sdk-name:1.0-SNAPSHOT'

  • project/build.gradle 中添加以下内容

    allprojects{
        ...
        mavenLocal()
    }
    

    这将在本地机器中搜索库。

如果还是这样,您会遇到一些错误,尝试使缓存无效并从文件菜单重新启动 android-studio。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2014-01-23
    • 2014-05-04
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    相关资源
    最近更新 更多