Próbuję przetestować rozszerzeń plików paczka (OBB) w Android następujących instrukcji tutaj: http://developer.android.com/google/play/expansion-files.htmlGdzie umieścić plik OBB, aby przetestować pliki dodatku (OBB) systemu Android na moim Nexusie 4?
jestem na etapie, gdy trzeba przetestować aplikację na moim Nexus 4.
i generowane mój plik .obb z jobb i ADB-popchnął go w urządzeniu w tej lokalizacji:
/mnt/shell/emulated/0/Android/obb/my.package/main.1.my.package.obb
Gdy aplikacja uruchomić go nie znajdzie plik.
Metoda:
Helpers.doesFileExist(context, fileName, xf.mFileSize, false)
return false dla mojego pliku.
I debugowania i okazało się, że szuka pliku w:
/storage/emulated/0/Android/obb/my.package/main.1.my.package.obb
Konkretnie jest to ścieżka zwrócony przez:
Helpers.generateSaveFileName(c, fileName)
katalogu/przechowywania/emulowane/0, zwrócony przez środowiska .getExternalStorageDirectory() nie istnieje podczas przeglądania urządzenia z powłoką adb.
Ale to działa w czasie wykonywania, wewnątrz aplikacji, sprawdziłem również, co zawiera: zawiera prawie to samo, co znalazłem w/mnt/shell/emulated/0, zawiera katalog Android/obb, który jest pusty .
Jak się dowiedziałem ścieżkę /mnt/shell/emulated/0/Android/obb/my.package/main.1.my.package.obb gdzie umieściłem mój plik 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
A wewnątrz tego już znalazłem katalog Android/obb, pusty.
Pytanie brzmi: gdzie powinienem umieścić mój plik obb, aby znajdował się we właściwym miejscu w czasie pracy?
Zrobiłem wszystko powiedział tam:
stworzył projekt aplikacji na rynku, aby uzyskać klucz publiczny
generowane losowo tablicy 20 bajtów (sól)
zintegrowanego play_licensing/library i play_apk_expansion/download_library
napisał moją służbę/odbiornik
sprawdził za pomocą pomocy itp. Dokładnie tak, jak mówi dokumentacja.
Podejrzewam, że wszystko działa, ale nie mogę jeszcze wydać jeszcze w Sklepie Play! Muszę przetestować lokalnie i będę potrzebował zmienić mój obb plik dość często w początkowej fazie rozwoju.
Nie mogę przetestować na emulatorze, ponieważ używam 3D i kamery urządzenia.
czy to nie wystarczy? https://developer.android.com/reference/android/os/storage/StorageManager.html#getMountedObbPath%28java.lang.String%29 –
To, co łączysz, jest ABSOLUTNIE właściwym interfejsem API do użycia przez kod, ale mówimy o tym, aby wiedzieć, gdzie fizycznie umieścić plik obb na urządzeniu, aby można było przetestować aplikację bez konieczności jej ponownego użycia w Google Play. Podczas pracy z plikiem Obb generujesz plik Obb na komputerze, a następnie musisz go umieścić w systemie plików urządzenia, aby przetestować. Chodzi o znalezienie właściwej ścieżki systemu plików do załadowania pliku OBB. –