我有一个例程,期望AGP在app/build/intermediates/transforms/stripDebugSymbol/debug上生成assembleDebug目录。另外,我的依赖项中还包含一些本机代码。它在我的本地计算机上运行良好,但在CI上却无法运行。我发现此文件夹是由任务transformNativeLibsWithStripDebugSymbolForDebug生成的。但是在我的CI上,它甚至没有这项任务。

Task with path 'transformNativeLibsWithStripDebugSymbolForDebug' not found in project ':app'

不幸的是,我无法分辨出什么问题。至少并非没有AGP源代码。

因此,问题是:是什么触发了transformNativeLibsWithStripDebugSymbolassemble期间执行?或者如何强制执行?

我正在使用AGP 3.1.3和Gradle包装器4.5。

最佳答案

最终,我发现只有配置了NDK(duh),即在ndk.dirlocal.properties / ANDROID_NDK_HOME中设置了ANDROID_NDK,AGP才会抛出与NDK相关的任务(我不确定哪个是强制性的)设置环境变量。

UPD:根据AGP源代码,至少当前是ANDROID_NDK_HOME
https://android.googlesource.com/platform/tools/build/+/refs/heads/master/gradle/src/main/groovy/com/android/build/gradle/internal/Sdk.groovy#205

关于android - `transformNativeLibsWithStripDebugSymbol`没有执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51544076/

10-12 06:17