0

プログラムでファイルを/data/ data / application_package / libディレクトリにコピーしたり、シンボリックリンクを作成したりすることはできますか?

libディレクトリに書き込もうとすると、常にパーミッション拒否エラーが発生します。私は定義しました

<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4

2 に答える 2

3

lib /に書き込むことはできませんが、書き込む必要はありません。

アプリケーションのプライベートストレージ領域内の予約されていない場所に書き込むことができます。また、フルパス名を指定したSystem.load()を使用して、読み取りおよび実行権限を持つデバイス上の任意のファイルからネイティブライブラリをロードできます。短いライブラリ名のSystem.loadLibrary()ではありません。

外部ストレージ(sdcard)は実行不可能なフラグでマウントされていますが、プライベートストレージディレクトリ内のファイルが実行可能なソリューションになります。他の誰かが背後で変更できないように、必ずアプリケーションでのみ書き込み可能にするようにしてください(外部ストレージが実行不可能になるような変更から外部ストレージファイルを保護できないためです)

于 2012-07-20T18:07:48.877 に答える
1

ファイルをロードしたい場合は、system.load();を使用できます。データ/パッケージ名/ライブラリにコピーできます

system.load()を使用してロードします

于 2016-10-18T08:37:06.613 に答える