android - Android studio 3.1.3 创建新项目与 c++ 支持同步失败
问题描述
我正在使用 Android Studio 3.1.1 创建一个支持 c++ 的新项目,但我什么也做不了,它同步失败,消息如下:
Build command failed.
Error while executing process E:\AndroidSDK\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {-HF:\ASworkspace\TestJniApplication\app\src\main\cpp -BF:\ASworkspace\TestJniApplication\app\.externalNativeBuild\cmake\release\armeabi-v7a -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-19 -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=F:\ASworkspace\TestJniApplication\app\build\intermediates\cmake\release\obj\armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DANDROID_NDK=E:\AndroidSDK\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\ndk-bundle -DCMAKE_CXX_FLAGS= -DCMAKE_TOOLCHAIN_FILE=E:\AndroidSDK\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\ndk-bundle\build\cmake\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=E:\AndroidSDK\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\cmake\3.6.4111459\bin\ninja.exe -GAndroid Gradle - Ninja}
-- Check for working C compiler: E:/AndroidSDK/adt-bundle-windows-x86_64-20140702/adt-bundle-windows-x86_64-20140702/sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe
-- Check for working C compiler: E:/AndroidSDK/adt-bundle-windows-x86_64-20140702/adt-bundle-windows-x86_64-20140702/sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe -- broken
/AndroidSDK/adt-bundle-windows-x86_64-20140702/adt-bundle-windows-x86_64-20140702/sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe" is not able to compile a simple test program.
Open File
It fails with the following output:
Change Dir: F:/ASworkspace/TestJniApplication/app/.externalNativeBuild/cmake/release/armeabi-v7a/CMakeFiles/CMakeTmp
Run Build
Command:"E:\AndroidSDK\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\cmake\3.6.4111459\bin\ninja.exe"
"cmTC_bc909"
[1/2] Building C object CMakeFiles/cmTC_bc909.dir/testCCompiler.c.o
[2/2] Linking C executable cmTC_bc909
FAILED: cmd.exe /C "cd . &&
E:\AndroidSDK\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang.exe
--target=armv7-none-linux-androideabi
--gcc-toolchain=E:/AndroidSDK/adt-bundle-windows-x86_64-20140702/adt-bundle-windows-x86_64-20140702/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
--sysroot=E:/AndroidSDK/adt-bundle-windows-x86_64-20140702/adt-bundle-windows-x86_64-20140702/sdk/ndk-bundle/sysroot
-isystem
E:/AndroidSDK/adt-bundle-windows-x86_64-20140702/adt-bundle-windows-x86_64-20140702/sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi
-D__ANDROID_API__=19 -g -DANDROID -ffunction-sections -funwind-tables
-fstack-protector-strong -no-canonical-pre-- Configuring incomplete,fixes -march=armv7-a
errors occurred!
-mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -Wa,--noexecstack -Wformat
并且sdk是好的和最新的,
那么gradle版本是3.1.3。我对此一无所知,有人能帮我吗?谢谢你。
解决方案
adt-bundle-windows-x86_64-20140702
对于 Android Studio 来说太旧了。不知道为什么您的项目仍在使用这个旧工具链。
只需删除此 ADT 捆绑包(它是 2014 年发布的,而且太旧了,无法与您的 Android Studio 3.1.3 兼容)。只需下载最新的 Android Studio 并使用内置的 SDK 和 NDK 包即可。
您可以从项目根目录下仔细检查您的ndk和sdk设置local.properties
,它应该如下所示
ndk.dir=<your-ndk-root-dir>
sdk.dir=<your-sdk-root-dir>
推荐阅读
- python - 我想找到一个位于 a 内的标签
包含多个标签的标签并获取其中的文本
- excel - 滚动 3 本年度和上一年同期合计
- laravel - PHPUnit 功能测试中的覆盖类
- c++ - 写访问冲突 this->head 在 pop_front 中是 0xDDDDDDDD
- ios - 在表格视图中控制“程序流程”
- python - 读取json、解析成data、json.dumps(data)后json无效
- java - 使用静态方法
- python - pandas asfreq() 函数未显示结果
- javascript - SyntaxError: 不能在模块外使用 import 语句
- python - 使用 datetime 设置 matplotlib 的 xticks