Où puis-je placer le fichier OBB pour tester Android Expansion Pack Files (OBB) sur mon Nexus 4?
Je suis en train de tester le Pack d'Extension des Fichiers (OBB) Dans Android suivant le guide ici:
http://developer.android.com/google/play/expansion-files.html
Je suis à l'étape où j'ai besoin de tester mon application sur mon Nexus 4.
J'ai généré mon .obb fichier avec jobb et bad-poussé dans l'appareil à cet endroit:
/mnt/shell/emulated/0/Android/obb/my.package/main.1.my.package.obb
Lors de l'exécution de l'application, il ne trouve pas le fichier.
Méthode:
Helpers.doesFileExist(context, fileName, xf.mFileSize, false)
retourner false pour mon fichier.
J'ai débogué et a constaté qu'elle est à la recherche pour le fichier dans:
/storage/emulated/0/Android/obb/my.package/main.1.my.package.obb
Plus précisément c'est le chemin retourné par:
Helpers.generateSaveFileName(c, fileName)
L' /storage/emulated/0, qui est retourné par l'Environnement.getExternalStorageDirectory() n'existe pas de navigation de l'appareil avec la commande adb shell.
Mais il le FAIT au moment de l'exécution, à l'intérieur de l'application, j'ai aussi vérifié ce qu'il contient: il contient presque les mêmes choses que j'ai trouvées dans le répertoire /mnt/shell/emulated/0, il contient les Android/obb dir, qui est vide.
Comment j'ai trouvé le chemin /mnt/shell/emulated/0/Android/obb/ma.package/main.1.mon.package.obb où j'ai placé mon fichier 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
Et à l'intérieur que j'ai déjà trouvé le Android/obb répertoire vide.
Donc la question est: où dois-je mettre mon fichier obb pour qu'il soit dans la bonne position au moment de l'exécution?
J'ai fait tout ce qui est dit là:
- créé un projet d'application dans le Marché pour obtenir la clé publique
- généré un ensemble aléatoire de 20 octets (sel)
- intégré play_licensing/bibliothèque et play_apk_expansion/download_library
- écrit mon Service /Récepteur
- fait le chèque en utilisant les Aides etc.. exactement comme la documentation dire.
Je suppose que tout fonctionne, mais je ne peux pas encore communiqué sur le Play Store! J'ai besoin de tester en local et je vais avoir besoin de modifier mon fichier obb assez souvent dans cette première phase de développement.
Je ne peux pas tester sur l'Émulateur parce que j'utilise de la 3D et de l'appareil photo.
source d'informationauteur Daniele Segato
Vous devez vous connecter pour publier un commentaire.
Depuis Android 4.2 multi-support aux usagers ont été ajoutés.
À soutenir que Android monter l'émulateur de disque pour chaque utilisateur, agissant comme un bac à sable de la couche autour de la réelle système de fichiers: cette Android poignée gracieusement, soit le partage de fichiers entre utilisateurs, soit les fichiers personnels.
Longue histoire courte:
est émulé système de fichiers.
si vous entrez dans ce répertoire à partir de la commande adb shell, vous pouvez voir un
répertoire. Parfois, il ne se présente pas, pour une raison quelconque (voir ci-dessous pour quoi faire, si cela se produit)
Il n'est pas dans /Android/obb mais c'est le bon répertoire où placer votre package d'application /obb fichier!
Si vous ne voyez pas ce répertoire essayez de rechercher dans:
Vous devriez être en mesure de mettre votre fichier.
Il sera correctement ramassé lors de l'exécution se termine à la
chemin.
Je pense que le Android la documentation doit expliquer cela.
(Je réponds à ma propre question car j'ai trouvé comment le résoudre, tout en écrivant.)
Pour moi l'emplacement correct est : mnt/sdcard/Android/obb/nameofyourpackage/
PAS "/mnt/shell"