2

Androidスタジオを使用して、tess-twoプロジェクトからeyes-twoを構築しようとしています。私は ndk-build android ... ant を tess-two と eyes-two 用にリリースし、eyes-two をインポートし、ndk.dir パスを構成しましたが、ビルド中に次のエラー メッセージが表示されました。

allheaders.h: No such file or directory

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':tesstwo:compileReleaseNdk'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/home/italomaia/.apps/android-ndk-r10c/ndk-build NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/home/italomaia/workspace/eyes-two/tesstwo/build/intermediates/ndk/release/Android.mk APP_PLATFORM=android-8 NDK_OUT=/home/italomaia/workspace/eyes-two/tesstwo/build/intermediates/ndk/release/obj NDK_LIBS_OUT=/home/italomaia/workspace/eyes-two/tesstwo/build/intermediates/ndk/release/lib APP_ABI=all
  Error Code:
    2
  Output:
    In file included from /home/italomaia/workspace/eyes-two/tesstwo/src/main/jni/com_googlecode_leptonica_android/writefile.cpp:17:0:
/home/italomaia/workspace/eyes-two/tesstwo/src/main/jni/com_googlecode_leptonica_android/common.h:22:24: fatal error: allheaders.h: No such file or directory
     #include <allheaders.h>
                        ^
    compilation terminated.
    make: *** [$HOME/workspace/eyes-two/tesstwo/build/intermediates/ndk/release/obj/local/arm64-v8a/objs/tesstwo/$HOME/workspace/eyes-two/tesstwo/src/main/jni/com_googlecode_leptonica_android/writefile.o] Error 1


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
4

1 に答える 1

0

ここからの手順を使用してビルドする必要があります。 https://github.com/rmtheis/tess-two/tree/master 手順を少し変更する必要がありました。最新の tess-two コードをビルドするには、ターミナルで次のコマンドを実行 します: eye-two をビルドするには、さらに次のコマンドを git clone git://github.com/rmtheis/tess-two tess cd tess cd tess-two ndk-build android update project --path . --target 13 実行します: cd .. cd eyes-two ndk-build android update project --path . --target 13 そこから android studio を開き、[ファイル] -> [サンプルのインポート] を選択して、Hello jni サンプルをインポートしました。それがAndroidスタジオでセットアップおよびコンパイルされた後、ファイル->新規->モジュールのインポートを実行し、すべてのデフォルトを選択したtess-twoディレクトリをポイントしました。その時点で、gradleの問題のためにエラーが発生しました。そこで、tess-two モジュール用に次の gradle ファイルを作成しました。

apply plugin: 'com.android.model.library'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.0"

        defaultConfig.with {
            minSdkVersion.apiLevel = 15
            targetSdkVersion.apiLevel = 23
        }
    }


    compileOptions.with {
        sourceCompatibility=JavaVersion.VERSION_1_7
        targetCompatibility=JavaVersion.VERSION_1_7
    }

    android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles  += file('proguard-rules.txt')
        }
    }
    android.productFlavors {
        // for detailed abiFilter descriptions, refer to "Supported ABIs" @
        // https://developer.android.com/ndk/guides/abis.html#sa
        create("arm") {
            ndk.abiFilters += "armeabi"
        }
        create("arm7") {
            ndk.abiFilters += "armeabi-v7a"
        }
        create("arm8") {
            ndk.abiFilters += "arm64-v8a"
        }
        create("x86") {
            ndk.abiFilters += "x86"
        }
        create("x86-64") {
            ndk.abiFilters += "x86_64"
        }
        create("mips") {
            ndk.abiFilters += "mips"
        }
        create("mips-64") {
            ndk.abiFilters += "mips64"
        }
        // To include all cpu architectures, leaves abiFilters empty
        create("all")
    }

}

その後、正常にビルドされました

于 2015-09-28T07:49:34.667 に答える