我正在尝试按照此处的指南在 Android 中测试扩展包文件 (OBB):http: //developer.android.com/google/play/expansion-files.html
我正处于需要在 Nexus 4 上测试我的应用程序的步骤中。
我用 jobb 生成了我的 .obb 文件,并将它的 adb-push 到了设备中的这个位置:
/mnt/shell/emulated/0/Android/obb/my.package/main.1.my.package.obb
当应用程序运行时,它找不到该文件。
方法:
Helpers.doesFileExist(context, fileName, xf.mFileSize, false)
为我的文件返回 false。
我调试并发现它正在寻找文件:
/storage/emulated/0/Android/obb/my.package/main.1.my.package.obb
具体来说,这是通过以下方式返回的路径:
Helpers.generateSaveFileName(c, fileName)
Environment.getExternalStorageDirectory() 返回的 /storage/emulated/0 不存在使用 adb shell 浏览设备。
但它确实在运行时,在应用程序内部,我还检查了它包含的内容:它包含我在 /mnt/shell/emulated/0 中找到的几乎相同的东西,它包含 Android/obb 目录,它是空的。
我如何找到放置我的 obb 文件的路径 /mnt/shell/emulated/0/Android/obb/my.package/main.1.my.package.obb :
$ adb shell
$ ls -ld sdcard
lrwxrwxrwx root root 2013-10-16 17:34 sdcard -> /storage/emulated/legacy
$ ls -ld /storage/emulated/legacy
lrwxrwxrwx root root 2013-10-16 17:34 legacy -> /mnt/shell/emulated/0
在里面我已经找到了 Android/obb 目录,空的。
所以问题是:我应该把我的 obb 文件放在哪里才能在运行时处于正确的位置?
我做了那里所说的一切:
在市场中创建了一个草稿应用程序以获取公钥
生成一个 20 字节的随机数组(盐)
集成 play_licensing/library 和 play_apk_expansion/download_library
写了我的服务/接收者
使用 Helpers 等进行了检查。就像文档说的那样。
我想一切正常,但我还不能在 Play Store 上发布!我需要在本地进行测试,并且在开发的初始阶段我需要经常更改我的 obb 文件。
我无法在模拟器上进行测试,因为我使用的是 3D 和设备相机。