私はjniを使用するアンドロイドアプリケーションを持っており、Eclipse(cdtプラグインを使用)でビルドプロセスを自動化しようとしています。私は自分自身の静的ライブラリを構築する必要があり、プリコンパイルされたライブラリも使用する必要があります。このフォルダは、ビルドプロセス中にクリアされますので、私は(/ armeabiフォルダを、
a)は自分自身の共有ライブラリ(ここでは問題なし)
b)のビルドが完了した後を構築する必要がありますLIBSに既存のライブラリをコピーすることを意味
Iビルドスクリプトの一部としてlibsフォルダにファイルをコピー
私はb)にいくつか問題があります。私がやろうとしているのは、Android.mkファイルにinclude $(BUILD_SHARED_LIBRARY)の後にカスタムシェルスクリプトを挿入することです。残念ながら、これはうまくいきません。Android.mkファイルの完成後に/ libs/armeabiフォルダがクリアされるためです。
本当ですか?ポストビルドスクリプトをAndroid.mkに挿入する方法はありますか? jniコードをビルドした後、ビルド全体が完了する前にbashスクリプトを実行する方法はありますか(たとえば、Javaの部分がビルドされ、アプリケーションが実行を開始する前に)?私はeclipseのc/C++プロジェクトビルドの設定では、ある種の "ポストビルド"スクリプトが必要ですが、そのようなことはありません。 .soはコピーする簡単な方法とカスタムスクリプトを構築するために頼ることなく.Aのlibsがあるように見え、
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_MODULE := player
LOCAL_SRC_FILES := player.c
include $(BUILD_SHARED_LIBRARY)
$(shell ./copy-libs.sh) #this script will get called, but the files will be erased right after
ドキュメントはNDKには含まれていないようですが、事前ビルドに関する情報はhttps://developer.android.com/ndk/guides/prebuilts.htmlにあります。 – Georgie