web-dev-qa-db-fra.com

Comment trouver mes applications/données/données en utilisant l'explorateur de fichiers d'Android Device Monitor

J'ai une application qui écrit dans des fichiers texte sur le stockage interne. Je voudrais regarder de près sur mon ordinateur.

J'ai couru un Toast.makeText pour afficher le chemin, il dit: /Data/data/mypackage

Mais lorsque je vais sur l'application Android Device Monitor d'Android Studio, je ne vois pas/data/data dans l'explorateur de fichiers. Alors, où sont mes fichiers?

Je sais qu'ils existent parce que je peux trouver le sur adb Shell. J'ai besoin de traduire/data/data dans un chemin visible sur l'explorateur de fichiers, afin de pouvoir les télécharger facilement. Merci!

12
Gerard

Vous ne pouvez vérifier cela que si vous avez un téléphone enraciné, car ces dossiers sont privés pour les applications et que l'accès habituel est limité à ces dossiers. Si vous n'avez pas de téléphone enraciné, faites-en une copie de vos dossiers internes et écrivez-les sur votre carte SD pour en vérifier le contenu. L'autre façon consiste à rooter votre téléphone ou à utiliser un émulateur. 

Voici le code que vous pouvez utiliser pour écrire une copie sur votre carte SD externe: 

public static void copyDirectoryOneLocationToAnotherLocation(File sourceLocation, File targetLocation)
            throws IOException {

        if (sourceLocation.isDirectory()) {
            if (!targetLocation.exists()) {
                targetLocation.mkdir();
            }

            String[] children = sourceLocation.list();
            for (int i = 0; i < sourceLocation.listFiles().length; i++) {

                copyDirectoryOneLocationToAnotherLocation(new File(sourceLocation, children[i]),
                        new File(targetLocation, children[i]));
            }
        } else {

            InputStream in = new FileInputStream(sourceLocation);

            OutputStream out = new FileOutputStream(targetLocation);

            // Copy the bits from instream to outstream
            byte[] buf = new byte[1024];
            int len;
            while ((len = in.read(buf)) > 0) {
                out.write(buf, 0, len);
            }
            in.close();
            out.close();
        }

    }
5
Skynet

Vous pouvez utiliser le adb console. Il suffit d'écrire adb root et ensuiteadb connect <IP>

Après cela, vous pouvez ouvrir le dossier de données.

2
Alex

Voir this . Parce que/data/data est le stockage interne de l'application elle-même, seules les applications ayant le même ID utilisateur peuvent y accéder (ou à moins que vous ne possédiez un appareil root).

1
suitianshi

Le dossier /data/data apparaît dans l'explorateur de fichiers de mon moniteur de périphérique Android (Android Studio 1.4). Au moins pour les périphériques virtuels.

0
Peppe L-G

Je pense que vous utilisez l'API 24 ou supérieure, vous devez créer un nouveau périphérique virtuel sans l'API 24+

0
ahmeturhan