暗号化された obb ファイルを使用する Android アプリを開発しています。この obb ファイルは 3 つのファイルで構成されています (jobb ツールで作成しました)。ほとんどのデバイスでは問題ありませんが、3 つのデバイスでは ERROR_COULD_NOT_MOUNT が発生します。そして、私はそれを修正する方法を理解していません。エラーなしでアプリを配布したい :) 助けてください! :)
私が試したこと: 1)obbファイルをアンマウントしてマウントします。2) 「読み取り専用」属性のないフォルダーから obb ファイルを作成します。しかし、それはすべてうまくいきません。
問題を再現する手順 (該当する場合はサンプル コードを含む)。 1) フォルダーを作成し、その中に 3 つの異なるファイルを入れます。2) 手順 1 のフォルダーから obb ファイルを作成します。 3) このファイルをアプリからマウントしてみます (以下のサンプル コード)。
最終ファイル mainFile = new File(Environment.getExternalStorageDirectory() + "/Android/obb/" + packageName + "/"
+「メイン」。+ versionCode + "." + パッケージ名 + ".obb");
OnObbStateChangeListener リスナー = 新しい OnObbStateChangeListener() {
@オーバーライド
public void onObbStateChange(String path, int state) {
super.onObbStateChange(パス、状態);
if (state == OnObbStateChangeListener.MOUNTED) {
doNextSteps();
そうでなければ (状態 == OnObbStateChangeListener.ERROR_COULD_NOT_MOUNT) {
Toast.makeText(getApplicationContext(), "ERROR_COULD_NOT_MOUNT", Toast.LENGTH_LONG).show();
}
}
};
if (!storageManager.isObbMounted(mainFile.getAbsolutePath())) {
storageManager.unmountObb(mainFile.getAbsolutePath(), true, リスナー);
storageManager.mountObb(mainFile.getAbsolutePath(), "password_string", listener);
} そうしないと {
doNextSteps();
}
どうしたの。 次のデバイスで「ERROR_COULD_NOT_MOUNT」エラーが発生しました: 1) HTC PJ401 One S; 2) サムスン GT-I9505 ギャラクシー S IV; 3) Samsung SM-N9005 Galaxy Note 3. ただし、Samsung SM-N900T Galaxy Note 3 および Samsung GT-I9500 Galaxy S IV ではすべて問題ありません。