android - 如何在 Unity Split Binary Build 中获得 Application.dataPath 等结果
问题描述
我正在使用 Unity 5.6。
到目前为止,Android 使用一种方法来检查 APK 内的 classes.dex 文件以防止应用被篡改
对于典型的构建,导入 classes.dex 文件没有问题。
但是,使用“Split Binary Build”选项来使用 .obb 文件,我无法正确导入 classes.dex 文件。
我曾经通过以下方式导入classes.dex文件
string urlScheme = @"jar:file://";
string apkPath = Application.dataPath;
string separator = @"!/";
string entry = @"classes.dex";
string url = urlScheme + apkPath + separator + entry;
如果在 Unity 中使用 Split Binay 选项,Application.dataPath 的路径将是 'android / data / obb /.../ myobb.obb'
有没有办法使用 Split Binary Build 选项获得与现有 Application.dataPath 相同的结果?
解决方案
我解决了。在 Unity 内无法解决。
如果在 Unity 中使用从 Java 导入的值,则可以得到相同的结果。
PackageManager m = getPackageManager();
String s = getPackageName();
PackageInfo p = m.getPackageInfo(s, 0);
s = p.applicationInfo.sourceDir;
参考:获取应用程序目录
推荐阅读
- macos - NSWindow 是否可以在没有动画的情况下从全屏模式关闭?
- postgresql - Sequelize Include 在没有结果的情况下不起作用
- javascript - JavaScript (Postgres DB) - 如何在 WHERE IN ( ) 子句中使用带有数组作为参数的准备好的语句
- c++ - 具有不变和普通 typedef 的 typedef 有什么不同
- php - 如何使用 API 资源更改 json 格式?
- azure - Azure 队列存储消息未保存在 Azure 函数上的正确队列中
- testing - 如何使用jmeter执行存储过程并获得结果
- android - kotlin (Android Studio 3) 中未解析的引用 getValue()
- vbscript - vbs中的特殊字符
- reactjs - Redux 没有将状态传递给道具