首页 > 解决方案 > 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。我对此一无所知,有人能帮我吗?谢谢你。

标签: androidandroid-studiocmakeandroid-ndk

解决方案


adt-bundle-windows-x86_64-20140702对于 Android Studio 来说太旧了。不知道为什么您的项目仍在使用这个旧工具链。

只需删除此 ADT 捆绑包(它是 2014 年发布的,而且太旧了,无法与您的 Android Studio 3.1.3 兼容)。只需下载最新的 Android Studio 并使用内置的 SDK 和 NDK 包即可。

您可以从项目根目录下仔细检查您的ndksdk设置local.properties,它应该如下所示

ndk.dir=<your-ndk-root-dir>
sdk.dir=<your-sdk-root-dir> 

推荐阅读