そのため、現在 Android では方法がありませんが、依存する共有ライブラリを手動でプリロードする必要があります。それは私にとっては問題ありません。大したことではありません。Android ビルドシステム (ビルド前のライブラリ機能) にもいくつかの問題があります。そのため、依存する共有ライブラリの異なるビルドに別の名前を付ける必要がありました: libsal.soとlibsal-slim.so。ビルド設定に応じて、これら 2 つのいずれかが最終的な apk になります。次に、Java 側で libsal.so のロードを試み、失敗した場合は libsal-slim.so のロードを試みます。
/system/libにインストールされたデフォルトのファームウェアでそのlibsal.soを出荷する電話に出くわすまで、それはすべてうまくいきました。そのため、libsal-slim.so でビルドされている場合、私のアプリはその電話での動作を停止しました。これは、最初に libsal.so をロードしようとし、/system/lib から間違ったライブラリをロードするためです。
質問: インストール フォルダのライブラリのみがロードされるようにするにはどうすればよいですか? アプリのインストール フォルダを何らかの方法で取得し、共有ライブラリのフル パスを「計算」することはできますか? Java ブードゥー教の魔法はどうすればできますか? 私は一般的にJavaとAndroidの初心者です。この質問があまりにも素朴に見える場合:)そして、はい、私は英語を話せません(または彼らの言い方)、c ++に頼ってください[冗談の終わり]
libsal.so は実際の名前ではなく、例としてのみ使用しました。