3

我正在使用带有 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 构建序列进行精细控制?

4

1 回答 1

2

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

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

于 2020-06-16T19:49:13.200 回答