このチュートリアルに従って AOSP システム サービスを構築しました: http://www.androidenea.com/2009/12/adding-system-server-to-android.html
ここで、コンパイル済みの .so ファイルを使用したいのですが、コードがアクセスできるようにどこに配置すればよいかわかりません。
そこで、framewaork/base/libs/my_folder/ にフォルダーを作成し、そこに my_lib.so android.mk という 2 つのファイルを配置しました。
android.mk の内容は次のとおりです。
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= my_lib
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
make はエラーなしで実行されましたが、コードが次の方法でライブラリをロードしようとしたとき: System.loadLibrary("my_lib");
私はこのエラーを受け取りました:
06-27 13:58:55.581: E/AndroidRuntime(806): 原因: java.lang.UnsatisfiedLinkError: ライブラリ my_lib が見つかりません。[/vendor/lib/my_lib.so、/system/lib/my_lib.so]を試しました
そのため、soファイルをout/target/product/generic/system/libに追加しましたが、同じエラーが発生しました。
my_lib.so ファイルはどこに配置すればよいですか? それにandroid.mkが必要ですか?多分私はそれをシステムのどこかに登録するべきですか?
前もって感謝します!