gpt4 book ai didi

android - 无法解析从本地源模块构建的本地 AAR

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:26 26 4
gpt4 key购买 nike

我有一个库模块,我想将其作为 AAR 依赖项包含到示例应用程序中:

:my-library
:sample-app

所以在 sample/build.gradle 中,我执行以下操作:

repositories {
flatDir {
dirs "../my-library/build/outputs/aar"
}
}

// I have different flavors that specify whether to use the source or binary (aar) dependency

flavorDimensions "SOURCE_OR_BINARY"
productFlavors {
source { }
binary { }
}

dependencies {
sourceImplementation project(':my-library')
binaryImplementation(name: 'my-library-release', ext: 'aar') // <-- this line fails with error
}

tasks.whenTaskAdded { task ->
def taskName = task.name.toLowerCase()
if (taskName.toLowerCase().contains("binary")) {
// Prepare libs as binaries
task.dependsOn ('my-library:assembleRelease')
}
}

这在命令行上使用 ./gradlew 时效果很好,但 Android Studio 在 gradle 同步期间报告 Failed to resolve: :my-library-release:。如果我在命令行上执行 ./gradlew assemble然后同步 Android Studio,AS Gradle 同步成功。

问题与 binaryImplementation(name: 'my-library-release', ext: 'aar') 的时间有关。当执行 Gradle Sync 时,aar 还不存在,因为它尚未构建。

是否有更好的方法来避免 Failed to resolve Android Studio Gradle 同步错误?

最佳答案

您需要将此添加到您的应用程序主 build.gradle。

    repositories {
/...
/...
flatDir {
dirs 'libs'
}
}

比方说,如果你在 lib 文件夹中有 .aar 文件,那么你可以做这样的事情。

implementation files('libs/assembleRelease.aar')

关于android - 无法解析从本地源模块构建的本地 AAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53340361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com