私はアンドロイド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`
私はWindowsマシンを使用していますので、誰でもお手伝いできますか?
'-j'設定がクリーンタスクに渡されますか? https://github.com/android-ndk/ndk/issues/198 –