2016-04-20 3 views
0

Я пытаюсь выполнить образец Android, который использует JNI для вызова кода C из Android Java Activity.NDK GCC: Не удалось определить версию GCC

(Hello-JNI) с помощью Android Studio в убунту 15,04

Я получаю следующее сообщение об ошибке при построении моего проекта:

 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 -. 

ответ

0

Запуск Gradle с --info флагом, чтобы определить команду выполняющиеся :

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

В выходе вы должны увидеть команду, содержащую aarch64-linux-android-gcc -dM -E - с полным путем. Убедитесь, что у вас действительно есть этот двоичный файл на указанном пути (он должен был быть включен в android ndk).

Предполагая, что вы это сделали, попробуйте запустить команду самостоятельно. Он будет читать из стандартного ввода и печати кучи констант на стандартный вывод (Gradle пытается разобрать версию от этого), но вы хотите увидеть STDERR:

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

Если команда не удается, ошибка должна быть показано, который может намекнуть на проблему. В моем случае он пытался включить папку 4.9.x, но у меня была папка с именем 4.9. Скорее всего, у вас будет другая проблема с вашей настройкой.

Смежные вопросы