Я пытаюсь протестировать файлы пакета расширения (OBB) в Android, следуя руководству здесь: http://developer.android.com/google/play/expansion-files.html
Я нахожусь на этапе, когда мне нужно протестировать свое приложение на Nexus 4.
Я сгенерировал свой файл .obb с помощью jobb и вставил его с помощью adb на устройство в этом месте:
/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)
/ Storage / emulated / 0, возвращаемый Environment.getExternalStorageDirectory (), не существует при просмотре устройства с помощью оболочки adb.
Но он ДЕЙСТВУЕТ во время выполнения, внутри приложения, я также проверил, что он содержит: он содержит почти то же, что я нашел в / mnt / shell / emulated / 0, он содержит каталог Android / obb, который пуст.
Как я узнал путь /mnt/shell/emulated/0/Android/obb/my.package/main.1.my.package.obb, куда я поместил свой 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
написал мою службу / получателя
проверил с помощью Помощников и т. д. точно так, как сказано в документации.
Полагаю, все работает, но я пока не могу выпустить в Play Store! Мне нужно протестировать локально, и мне придется часто менять свой obb-файл на этом начальном этапе разработки.
Я не могу тестировать на эмуляторе, потому что использую 3D и камеру устройства.