2015-04-03 1 views
6

J'ai réussi à faire fonctionner mon application dans Chrome à l'aide d'un dispositif de soudage à l'arc. Et ayant réussi à identifier les fichiers qui contiennent la base de données sqlite et les préférences partagées, j'ai pu copier ceux-ci pour bien reproduire le fonctionnement de l'application sur mon téléphone. Sur le téléphone, mon application peut prendre des photos, qu'elle stocke dans le chemin trouvé à l'aide de getExternalFilesDir (null) et il serait bon de pouvoir les copier afin de pouvoir les voir lorsque vous utilisez l'application via Google Chrome. . Mais en cherchant dans les environs, j'ai été incapable de voir où cela se trouvait. Je peux enregistrer un fichier (en utilisant l'exportateur de base de données de l'application et le sélecteur de fichier) vers un emplacement qui apparaît comme une carte SD, mais aucun fichier ou répertoire sous le répertoire de mon application dans ~/.config/google-chrome/Default/Stockage/ext qui est changé quand je fais l'exportation semble aller.Où est-ce que getExternalFilesDir() pointe dans une application exécutée dans Chrome?

Je peux voir le nom du fichier exporté dans def/File System/primaire/p/Paths/000004.log, bien que ce soit un fichier de données, il ne me donne aucun indice.

Quelqu'un sait où la carte SD virtuelle (et donc externalFilesDir) pourrait être tenue?

+0

Nous avons une application qui décompresse les actifs lors de l'installation et les met en place sur la carte SD. Ces fichiers (par exemple les fichiers JavaScript) sont renommés comme 000035 (sans suffixe) sous le répertoire ext (ext/p/03 je pense) que vous mentionnez ci-dessus. Cela ressemble peut-être à l'un des fichiers ldb ou à quelque chose qui simule les chemins. Avez-vous essayé de grepping les fichiers dans le répertoire ext? – user1978019

Répondre

4

Par défaut, ARC stocke les fichiers de stockage externes dans le système de fichiers HTML5 Chrome. Chaque application obtient sa propre instance du système de fichiers.

Pour placer des fichiers, vous pouvez:

  1. (sur un PC), commencez votre application, rendez-vous "chrome: // inspecter/# apps" pour votre application et tapez plugin.shell('adbd') dans la console javascript pour cela. Ensuite, vous pouvez utiliser la commande Android ADB adb push ... pour transférer les données.
  2. Ou vous pouvez également ajouter {"enableExternalDirectory": true} aux métadonnées de votre application. Activer cette option signifie qu'ARC vous demandera d'utiliser le répertoire pour le répertoire externe, et vous pouvez choisir un vrai répertoire sur votre système à utiliser.
+1

Numéro 2 fonctionne magnifiquement sur ma machine Linux et me donne un bon accès en ligne de commande à tout ce dont j'ai besoin. Merci. –