libmedia.so
パブリック API の一部ではありlibsinstructionght.so
ません。これは、理論的には、それらに依存するべきではないことを意味します。ただし、実際には、これらのライブラリはすべてのデバイスに存在しますが、それらは異なります。
このバイナリ ファイルは、デバイスから、またはコマンドを使用してエミュレーターからも抽出できます。
adb pull /system/lib/libmedia.so C:/android-ndk/platforms/android-14/arch-arm/usr/lib
これにより、このファイルがパブリック API と一緒に配置されるため、ndk-build での使用が容易になります。一方で、異なるレベルの Android 間だけでなく、チップセット、メーカー、さらにはモデル間の断片化にも注意する必要があります。
これを処理するには、.soファイルをさまざまなデバイスから別のディレクトリにプルし 、そのうちの 1 つをリンカー パスに追加します。
LOCAL_LDLIBS += -Lc:/android/galaxys.4.1.2.system.lib
上記のこの指示では、アプローチで直面している大きな問題を解決できません。libmedia.so
ユーザーアプリにリンクすることは意図されていません。カメラ、コーデック、画面などの保護されたデバイスにアクセスできる特権ユーザーのコンテキストを想定しています。
ルート化されたデバイスをターゲットにする場合、またはカスタム ROM を準備する場合は、このライブラリを最大限に活用できます。また、自分が何をしているのか、システムから重要なリソースを盗まないようにする方法を理解してください。
そうしないと、メディア ライブラリをリンクしてもほとんどメリットがありません。