0

tess-two を使用して JNI と NDK で Android アプリをビルドしようとしましたが、このエラーが発生し続けます。私は Android Studo 2.0 を使用しています。Android ndk r11c をインストールしました。gradle ビルドは成功しましたが、APK のビルドに失敗し続けています。

これは私の android.mk ファイルです:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
IMAGE_PROCESSING_PATH := $(LOCAL_PATH)/../../../../Test/src
IMAGE_PROCESSING_JNI_PATH := $(LOCAL_PATH)/image_processing
TESS_TWO_PATH := $(LOCAL_PATH)/../../../../tess-two/tess-two
LEPTONICA_SRC_PATH := $(TESS_TWO_PATH)/jni/com_googlecode_leptonica_android/src
include $(IMAGE_PROCESSING_JNI_PATH)/Android.mk

これはエラーメッセージです:

http://i.stack.imgur.com/yZATt.png

4

3 に答える 3

0

フルパスを指定してこれを解決しました:

task ndkBuild(type: Exec,description: 'run ndk-build') {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
    commandLine 'D:\\Application\\android-ndk-r10e\\ndk-build.cmd', '-C', 'D:\\ransel\\Citeks\\app\\src\\main\\jni'

} else {
    workingDir 'src/main/jni'
    commandLine 'D:\\Application\\android-ndk-r10e\\ndk-build', '-C', 'D:\\ransel\\Citeks\\app\\src\\main\\jni'
}

}

ありがとうございました :)

于 2016-05-21T20:30:44.107 に答える
0

自動 ndk-build を無効にすることができます。このために、build.gradleファイルを更新します。

android {
// ..... defaultConfig / buildTypes / etc ...

// SPECIFIC ROUTINE for NATIVE BUILD
sourceSets.main {
    jniLibs.srcDir 'src/main/libs'  //set .so files location to libs
    jni.srcDirs = []                //disable automatic ndk-build call
}
// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
        commandLine 'ndk-build.cmd', 'NDK_DEBUG=0', '-C', file('src/main/jni').absolutePath
    } else {
        commandLine 'ndk-build', 'NDK_DEBUG=0', '-C', file('src/main/jni').absolutePath
    }
}
tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn ndkBuild
}
}

graddle.propertiesを更新する必要がある場合があります

android.useDeprecatedNdk=true
于 2016-05-19T12:04:04.383 に答える