4

プロジェクトをAndroid Studiotess-two内の Android プロジェクトに統合することについての回答がありますが、多くは時代遅れであり、ここで定義されている現在の機能を使用しているものはありません。

Android Studio 2.2 以降を使用すると、NDK を使用して C および C++ コードをネイティブ ライブラリにコンパイルし、IDE の統合ビルド システムである Gradle を使用して APK にパッケージ化できます。Java コードは、Java Native Interface (JNI) を介してネイティブ ライブラリの関数を呼び出すことができます。

外部ファイルの配置、操作、コマンドライン ツールではなく、Android Studiotess-two内の機能を使用して、機能を結果の APK の一部にするために必要な具体的な手順は何ですか? そのため、ビルド、*.so ファイルの作成を IDE に取り込みます。ここで説明されているように、具体的にはAndroid Studio統合ビルド システム(Gradle) のみを使用します

1. 新しいプロジェクトを開始する

C++ をサポートする新しい Android Studio プロジェクトの開始

2. Tess-Two をプロジェクトにインポートする

新しいプロジェクトのモジュールとして tess-two をインポートします

2b. 必要なプラグインを追加します

tess-two build.gradle に追加して、必要なプラグインをプルします

3. メイン アクティビティにコードを追加してネイティブ機能を取得する

tess-two ネイティブ ファイルの静的インポート

4.ネイティブ機能が利用できるようにAndroid Studioビルドを構成する

これは、詳細が必要な場所です

4

1 に答える 1

6

4.ネイティブ機能用にAndroid Studioビルドを構成する

4a. C++ プロジェクトを Gradle にリンクする

まず、tess-twoプロジェクトのビルド ファイルを確認します。CMakeLists.txt または Android.mk ファイルを選択できます。どちらも現在サポートされています。

プロジェクトのビルド構成ファイルの確認

この場合、ndk-buildネイティブ コードを統合するのに適していると思われる を使用しました。

C++ プロジェクトのリンク

詳細については、Android Studio のドキュメントを参照してください。

4b. 長いコマンドを管理する

Windows では、コマンドの長さが大きくなりすぎると、エラーが発生する場合があります。問題を回避するには、ファイル内でLOCAL_SHORT_COMMANDSANDを使用します。APP_SHORT_COMMANDSAndroid.mk

コマンドの長さを短縮する属性の追加

「e=87」エラーは、これを行うことで回避しているものです。

パラメータが正しくありません エラー 87 メッセージ

このトピックの詳細については、stackoverflow question about error 87を参照してください。

4c。tess-two のモジュール依存関係を追加する

[ファイル] > [プロジェクト構造] > [依存関係] で+を使用して依存関係を追加しtess-twoます。

tess-two を依存関係として追加します

4d。プロジェクトをビルドし、.apk ファイルで .so ファイルを確認します

時間がかかるビルドは、すぐに完了するはずです。ビルド中に作成され.apkたファイルがファイルに含まれていることを確認します。.so静的イニシャライザーのtess-twoライブラリーを使用して、Android デバイスでプロジェクトを実行します。

tess-two .so ファイルと実行中のテスト アプリを含む apk ファイル

于 2016-12-16T02:44:23.307 に答える