我开发 Android 应用程序,它使用加密的 obb 文件。这个obb文件由3个文件组成(我用jobb工具创建的)。在大多数设备上一切正常,但在三个设备上存在 ERROR_COULD_NOT_MOUNT。而且我不明白如何解决它。我想在没有任何错误的情况下分发应用程序:) 请帮助我做到这一点! :)
我已经尝试过:1)卸载并挂载obb文件;
2) 从不具有“只读”属性的文件夹中创建 obb 文件。
但这一切都行不通。
重现问题的步骤(如果适用,包括示例代码)。1)创建文件夹,放入3个不同的文件。
2) 从步骤 1 的文件夹中创建 obb 文件。
3) 尝试从应用程序挂载此文件(示例代码如下)。
final File mainFile = new File(Environment.getExternalStorageDirectory() + "/Android/obb/" + packageName + "/"
+ "main." + versionCode + "." + packageName + ".obb");
OnObbStateChangeListener listener = new OnObbStateChangeListener() {
@Override
public void onObbStateChange(String path, int state) {
super.onObbStateChange(path, state);
if (state == OnObbStateChangeListener.MOUNTED) {
doNextSteps();
} else if (state == 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, listener);
storageManager.mountObb(mainFile.getAbsolutePath(), "password_string", listener);
} else {
doNextSteps();
}
发生了什么。我在以下设备上遇到“ERROR_COULD_NOT_MOUNT”错误:
1)HTC PJ401 One S;
2)三星 GT-I9505 Galaxy S IV;
3) 三星 SM-N9005 Galaxy Note 3。
但在三星 SM-N900T Galaxy Note 3 和三星 GT-I9500 Galaxy S IV 上一切正常。
所以,经过所有的调查,我可以说。我能做的就是解决问题。我从这 3 个文件中创建了一个文件
复制 /B file1+file2+file3 result_file.obb
然后我使用这个文件作为非加密的 obb。毕竟这些操作一切正常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)