私のアンドロイドアプリケーションは、ソケットを介して通信できるように、アンドロイドアプリケーションの前に別のNATIVEアプリケーション実行可能ファイルを実行する必要があります。Android アプリケーションには、クライアント側の通信を処理するための JNI 層があります。
ここで、ネイティブ実行可能ファイルを apk ファイルと一緒にバンドルする必要があります。これにより、デバイスにインストールされたときに電話のメモリまたはメモリ カードに解凍されます。
どうすればいいですか?res/asset および res/raw フォルダーにネイティブ実行可能ファイルを保持しようとしましたが、まだ /data/data/ フォルダーに解凍されません。
私が見つけた 1 つの方法は、AssetManager を使用し、InputStream と OutputStream の助けを借りて、このファイルを初めて実行したときにデバイスに書き込んでから使用することです。ただし、メモリを使い果たす可能性があるため、電話のメモリに手動で書き込む意味はありません。(メモリーカードが無い場合です。)
どうすればこれを達成できますか?インストール時に必要なファイルを自動で解凍するオプションがあればいいですね。