2017-02-17 2 views
0

Я хочу скомпилировать свой код с помощью android ndk. Я использую машину для Windows. Мой android.mk выглядит следующим образом.*** Android NDK: Отмена. , Стоп

LOCAL_PATH := $(call my-dir) 
SHELL := PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin /bin/bash 

include $(CLEAR_VARS) 

LOCAL_MODULE := streamer_native_manager 
LOCAL_SRC_FILES := streamer-native-manager.c gstrtpchannels.c skyrtpL16pay.c skyrtpL16depay.c 
LOCAL_C_INCLUDES := gstrtpchannels.h skyrtpL16pay.h skyrtpL16depay.h 
LOCAL_SHARED_LIBRARIES := gstreamer_android 
LOCAL_LDLIBS := -llog -landroid 
LOCAL_ARM_MODE := arm 
include $(BUILD_SHARED_LIBRARY) 

И в build.gradle, я сделал следующие конфигурации,

sourceSets { 
    main { 
     jni.srcDirs = [] 
     jniLibs.srcDir 'src/main/libs' 
     java.srcDirs += 'src/main/jni/src' 
     assets.srcDirs += 'src/main/jni/assets' 
    } 
} 

И для компиляции в том же файле,

task nativeBuild(type: Exec, description: 'Compile JNI source via NDK') { 
      def ndkDir = project.plugins.findPlugin('com.android.application').sdkHandler.ndkFolder 
      commandLine "$ndkDir\\ndk-build.cmd", 
        '-C', file('src\\main\\jni').absolutePath, 
        '-j', Runtime.runtime.availableProcessors(), 
        'all' 
     } 

     task cleanNative(type: Exec, description: 'Clean JNI object files') { 
      def ndkDir = project.plugins.findPlugin('com.android.application').sdkHandler.ndkFolder 
      commandLine "$ndkDir\\ndk-build.cmd", 
        '-C', file('src\\main\\jni').absolutePath, 
        'clean' 
     } 

     clean.dependsOn 'cleanNative' 

     tasks.withType(JavaCompile) { 
      compileTask -> compileTask.dependsOn nativeBuild 
     } 

Но когда я чистый проект, я получаю следующее сообщение об ошибке ,

`*** Android NDK: Отмена. , Стоп. Ошибка: выполнение выполнено для задачи ': app: cleanNative'.

Process 'command 'AndroidSDK\ndk-bundle\ndk-build.cmd'' finished with non-zero exit value 2`

Я использую машину для окон, так кто может мне помочь?

+0

Передача вашей конфигурации '-j' в чистую задачу? Может быть https://github.com/android-ndk/ndk/issues/198 –

ответ

0

Это новая проблема? Похоже, что среда разработки не была правильно настроена, потому что вы просто очищаете код. Если эта ошибка возникла при построении, я бы сказал, чтобы посмотреть на ваш код. Но так как это происходит при очистке, это почти должно быть среда разработки.

Вы касались своей тропы в последнее время?

Вы должны убедиться, что Cygwin находится на пути.

+0

Нет, я только что установил ndk из диспетчера загрузки Android и попытался очистить проект, я только изменил 'commandLine '$ ndkDir \\ ndk-build.cmd ", '-C', file ('src \\ main \\ jni'). absolutePath, « Чистый »слэш, чтобы соответствовать ему с окнами, Но если я верну его обратно/не работает. – Rohit

+0

Нужно ли устанавливать терминал Cygwin? – Rohit

+0

Я не уверен, что происходит с Android Studio, потому что я занимаюсь разработкой с Eclipse, но да, мне нужно Cygwin для компиляции кода NDK. –

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