当我尝试在更新最新的(Androd-NDK-R17-达尔文)之后,用原生C++代码编译一个C++模块时,我会在Mac上得到这个输出。
CMake Error at /Users/user1/Library/Android/sdk/ndk-
bundle/build/cmake/android.toolchain.cmake:312 (message):
Invalid Android ABI: armeabi. (armeabi is no longer supported. Use
armeabi-v7a.)
Call Stack (most recent call first):
/Users/user1/Library/Android/sdk/cmake/3.6.4111459/share/cmake-
3.6/Modules/CMakeDetermineSystem.cmake:98 (include) CMakeLists.txt
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error at /Users/user1/Library/Android/sdk/ndk-
bundle/build/cmake/android.toolchain.cmake:312 (message):
Invalid Android ABI: mips. (MIPS and MIPS64 are no longer
supported.)
Call Stack (most recent call first):
/Users/user1/Library/Android/sdk/cmake/3.6.4111459/share/cmake-
3.6/Modules/CMakeDetermineSystem.cmake:98 (include)
CMakeLists.txt
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
CMake Error at /Users/user1/Library/Android/sdk/ndk-
bundle/build/cmake/android.toolchain.cmake:312 (message):
Invalid Android ABI: mips64. (MIPS and MIPS64 are no longer
supported.)
Call Stack (most recent call first):
/Users/user1/Library/Android/sdk/cmake/3.6.4111459/share/cmake-
3.6/Modules/CMakeDetermineSystem.cmake:98 (include)
CMakeLists.txt
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!我已经试过这个解决方案了,但没有起作用。唯一的解决办法是回到以前的NDK。
项目与之前版本的NDK (android-ndk-r16b-darwin)合作得很好。
有谁面临同样的问题吗?
发布于 2018-05-24 09:53:24
以下是解决方案:https://developer.android.com/studio/build/configure-apk-splits
已知问题:如果您使用的是3.0.1级或更高版本的Android插件,则可能会出现以下错误:错误:平台不支持ABIs mips64、armeabi、mips。这是因为在构建per时,该插件的旧版本仍然默认包含不受支持的ABI。要解决此问题,可以更新插件的最新版本,或者在应用程序的build.gradle文件中重置插件的默认ABI列表,并只包括所需的受支持的ABI,如下所示:
或者将其添加到build.gradle中
defaultConfig {
// some of your code here
splits {
abi {
...
reset()
include "x86", "armeabi-v7a", "armeabi-v8a", "x86_64"
}
}
}或者只是更新使用最新的Gradle插件。
https://stackoverflow.com/questions/50387234
复制相似问题