web-dev-qa-db-ja.com

Android Device MonitorのFile Explorerを使用してアプリの/ data / dataを見つける方法

テキストファイルに内部ストレージに書き込むアプリがあります。私のコンピューターをよく見てみたい。

Toast.makeTextを実行してパスを表示しました、/ data/data/mypackage

しかし、Android StudioのAndroidデバイスモニターアプリケーションにアクセスすると、ファイルエクスプローラーに/ data/dataが表示されません。ファイルはどこにありますか?

On adb Shellを見つけることができるので、それらが存在することを知っています。簡単にダウンロードできるように、/ data/dataをFile Explorerに表示されるパスに変換する必要があります。ありがとう!

12
Gerard

これらのフォルダーはアプリケーション専用であり、通常のアクセスはそのようなフォルダーに制限されているため、ルート化された電話がある場合にのみ確認できます。ルート化された電話を持っていない場合は、内部フォルダのコピーを作成し、SDCardに書き込んで内容を確認することをお勧めします。もう1つの方法は、電話機をルート化するか、エミュレータを使用することです。

外部SDカードにコピーを書き込むために使用できるコードは次のとおりです。

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

adb consoleを使用できます。 adb rootadb connect <IP>と書くだけです

その後、データフォルダーを開くことができます。

4
Alex

this を参照してください。/data/dataはアプリケーション自体の内部ストレージであるため、同じユーザーIDを持つアプリのみがアクセスできます(またはルート化されたデバイスがない場合)。

1
suitianshi

/data/dataフォルダはmy Android Device MonitorのFile Explorer(Android Studio 1.4)に表示されます。少なくとも仮想デバイスの場合。

0
Peppe L-G

API 24以降を使用していると思います。API24+ではない新しい仮想デバイスを作成する必要があります

0
ahmeturhan