我有一个例程,它期望 AGP 在 assembleDebug
上生成 app/build/intermediates/transforms/stripDebugSymbol/debug
目录。我的依赖项中还有一些带有 native 代码的 aars。它在我的本地机器上运行良好,但在我的 CI 上不起作用。我发现这个文件夹是由任务 transformNativeLibsWithStripDebugSymbolForDebug
产生的。但是在我的 CI 上它甚至没有这样的任务。
在项目“:app”中找不到路径为“transformNativeLibsWithStripDebugSymbolForDebug”的任务
不幸的是,我不知道哪里出了问题。至少不是没有 AGP 源代码。
所以问题是:是什么触发了 transformNativeLibsWithStripDebugSymbol
在 assemble
期间执行,或者我如何强制执行它?
我正在使用 AGP 3.1.3 和 gradle wrapper 4.5。
最佳答案
最终我发现只有在配置了 NDK 时,AGP 才会抛出与 NDK 相关的任务(duh),即在 local.properties
或 中设置了
/ndk.dir
code>ANDROID_NDK_HOMEANDROID_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/