NDK海湾合作委员会:无法确定GCC版本

时间:2016-04-20 12:47:58

标签: android ubuntu android-studio gcc android-ndk

我正在尝试执行一个使用JNI从Android Java Activity调用C代码的Android示例。

(Hello-jni)在ubuntu 15.04中使用Android Studio

构建项目时出现以下错误:

      Error:Execution failed for task ':app:
      compileHello-jniArm64- v8aDebugAllSharedLibraryHello-jniMainC'.

      > No tool chain is available to build for platform 'arm64-v8a':
      - Tool chain 'ndk-gcc' (GNU GCC): Could not determine GCC version: 
       failed to execute aarch64-linux-android-gcc -dM -E -.

1 个答案:

答案 0 :(得分:0)

使用--info标志运行gradle以确定正在运行的命令:

gradlew :app:compileHello-jniArm64- v8aDebugAllSharedLibraryHello-jniMainC --info

在输出中,您应该看到一个包含aarch64-linux-android-gcc -dM -E -的完整路径的命令。检查你确实在显示的路径上有这个二进制文件(它应该包含在android ndk中)。

假设您这样做,请尝试自己运行该命令。它将从stdin中读取并将一堆常量打印到stdout(gradle试图从中解析该版本),但是你想看到stderr:

echo '' | ./aarch64-linux-android-gcc -dM -E - 1>/dev/null

如果命令失败,则应显示一个错误,提示可以提示问题。在我的情况下,它试图包含一个文件夹4.9.x,但我有一个名为4.9的文件夹。很可能您的设置会出现不同的问题。