私はGalaxy Tab用のアプリケーションを開発していますが、/ data/dataフォルダにいくつかのファイルが必要です。デバイスのルートにあるAcessファイル
エミュレータは本当に遅いです。だから、私はデバイス上でテストしており、デバイスからファイルを取得する必要があります(エミュレータから行うことができます)。どうやってやるの?
私はGalaxy Tab用のアプリケーションを開発していますが、/ data/dataフォルダにいくつかのファイルが必要です。デバイスのルートにあるAcessファイル
エミュレータは本当に遅いです。だから、私はデバイス上でテストしており、デバイスからファイルを取得する必要があります(エミュレータから行うことができます)。どうやってやるの?
コードにデバッグ機能を追加して、保護されたフォルダから携帯電話のSDカードに必要なファイルをコピーします。その後、PCからアクセスできます。
public static void backupFile() throws IOException {
String inFileName = "/data/data/your.package.name/........"; //TODO Use folder/filename
File inFile = new File(inFileName);
FileInputStream fis = new FileInputStream(inFile);
String outFileName = Environment.getExternalStorageDirectory()+"/........"; //TODO Use output filename
OutputStream output = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer))>0)
output.write(buffer, 0, length);
output.flush();
output.close();
fis.close();
}
adb pull <path>
は、デバイスから現在のディレクトリにファイルをダウンロードします。
adb shell
を使用して、一般的なシェルコマンドを使用してデバイスを探索することもできます。 adb shell ls <path>
は実際にシェルに完全に入ることなくこれを行うことができます。
編集 -/dataディレクトリまたは他の制限されたディレクトリ内のファイルに対しては、デバイスへのルートアクセスがない限り、これは機能しません。
エラー:デバイスのアクセス許可が不十分です。 –
はい、残念ながら特定のディレクトリは制限されています。/data/data内のアプリケーションディレクトリは、そうであってはいけません。興味深いのは –
です。私は/ data/dataの下にあるものはこのようにアクセスできないという印象を受けました。私は決してルートされていないデバイスの/ dataからファイルを引き出すことができませんでした。おそらく私はちょうど正しいファイルを選んだことはありませんでしたか? – slund
デバイスの/ dataディレクトリには、アクセス権が制限されています。 adbを使用してファイルをコピーするには、自分のデバイスをルートしている必要があります。
ニース!決して死ぬとは言わない。 –
ああ、ニフティ!これは便利です。 – slund
Interisting。私はこれが解決策になると思う。 –