【问题标题】:Android studio NDK Gradle build "Source ... and destination ... must be different"Android studio NDK Gradle 构建“源......和目的地......必须不同”
【发布时间】:2020-06-15 15:18:13
【问题描述】:

我正在使用带有 NDK、Gradle 和 CMake 的 Android Studio 来构建多个共享库并将它们链接在一起。

我在构建日志中一次又一次地收到相同的错误:

:app:processDebugManifest [Passed]
:app:externalNativeBuildDebug [Passed]

Source C:\XXX\app\build\intermediates\cmake\debug\obj\arm64-v8a\libBGS-d.so and destination C:\XXX\app\build\intermediates\cmake\debug\obj\arm64-v8a\libBGS-d.so must be different

这就像 gradle 试图在同一个位置复制我的库。 问题是,我不知道这条指令来自哪里以及如何调试它。构建日志中确实没有太多指示。

令人困惑的是,这种情况并非 100% 发生。似乎某处存在竞争条件。有时它是触发构建失败的另一个库。此外,清理项目也无济于事。

所以这是我的问题:是否有任何地方可以让我对 Gradle 构建序列进行精细控制?

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    https://stackoverflow.com/a/62223434/8068814 的 Dan Albert 称,这似乎是一个错误,他建议清理项目,然后触发“刷新链接的 c++ 项目”,然后构建项目。由于它有时对您有用,因此在您的情况下这可能是一个可靠的解决方案。

    对我来说这没有帮助,但将 Gradle 插件恢复到 3.6.2 是我构建项目的唯一方法。

    【讨论】:

    • 哦。不知道我是怎么错过那个明显的重复的。谢谢。
    猜你喜欢
    • 2014-09-13
    • 2018-04-05
    • 2016-01-19
    • 2014-06-15
    • 2013-05-16
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 2016-08-07
    相关资源
    最近更新 更多