未找到Android cmake参数方法
我试图为cmake添加参数,以便遵循Android NDK使用地址消除器。因此,在本机模块的build.gradle文件中,我有以下内容:未找到Android cmake参数方法,android,cmake,android-ndk,Android,Cmake,Android Ndk,我试图为cmake添加参数,以便遵循Android NDK使用地址消除器。因此,在本机模块的build.gradle文件中,我有以下内容: externalNativeBuild { cmake { path "CMakeLists.txt" arguments "-DANDROID_ARM_MODE=arm", "-DANDROID_STL=c++_shared" cppFlags "-fsanitize=
externalNativeBuild {
cmake {
path "CMakeLists.txt"
arguments "-DANDROID_ARM_MODE=arm", "-DANDROID_STL=c++_shared"
cppFlags "-fsanitize=address -fno-omit-frame-pointer"
}
}
当我尝试同步我的项目(Android Studio v.3.4.2,Win10)时,我收到错误消息:
错误:找不到Gradle DSL方法:“arguments()”
我已经在网上搜索过了,但是找不到关于“arguments”方法这个问题的任何其他提及。我用的是Gradle3.4.2
我缺少什么?有两个不同的Gradle DSL对象,它们都名为
externalNativeBuild
,但属性不同。见和
因此,您需要在适当的对象上设置适当的属性:
android {
defaultConfig {
externalNativeBuild {
cmake {
arguments "-DANDROID_ARM_MODE=arm", "-DANDROID_STL=c++_shared"
cppFlags "-fsanitize=address -fno-omit-frame-pointer"
}
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}
此
externalNativeBuild
块位于何处?将它直接放入android{}
和android{defaultConfig{}}
之间有区别(例如,第二个有参数
属性,而第一个没有)。感谢您修复了它,因为我实际上应该在defaultConfig中添加它。我的问题确实是一个重复的问题,请将此标记为答案。