我有一个例程,期望AGP在app/build/intermediates/transforms/stripDebugSymbol/debug
上生成assembleDebug
目录。另外,我的依赖项中还包含一些本机代码。它在我的本地计算机上运行良好,但在CI上却无法运行。我发现此文件夹是由任务transformNativeLibsWithStripDebugSymbolForDebug
生成的。但是在我的CI上,它甚至没有这项任务。Task with path 'transformNativeLibsWithStripDebugSymbolForDebug' not found in project ':app'
不幸的是,我无法分辨出什么问题。至少并非没有AGP源代码。
因此,问题是:是什么触发了transformNativeLibsWithStripDebugSymbol
在assemble
期间执行?或者如何强制执行?
我正在使用AGP 3.1.3和Gradle包装器4.5。
最佳答案
最终,我发现只有配置了NDK(duh),即在ndk.dir
或local.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/