アプリの実行中にファイルを生成したいので、自分のパソコンが自分のアプリのステータスを時間内に監視できます(携帯電話は常にusb経由で接続されています)。Android getExternalStorageDirectoryフォルダをadbで取得する方法は?
adbとappの両方に同じディレクトリを指すようにするにはどうしますか?
また、アンドロイドがコンピュータと通信できる別の方法がある場合は、教えてください。私が試した
方法:
を最初に、私はしかし
echo $EXTERNAL_STORAGE
と
Environment.getExternalStorageDirectory()
同じ値を返します。
値のadbシェルが返さ:
/storage/emulated/legacy
ただし、プログラムでEnvironment.getExternalStorageDirectoryを()の呼び出しの結果は次のとおりです。次に
/storage/emulated/0
、私が作るアンドロイド実行シェルコマンド
Process su = Runtime.getRuntime().exec("echo $EXTERNAL_STORAGE");
//also tried "echo \\$EXTERNAL_STORAGE"
su.waitFor();
in = su.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = reader.readLine())!= null){
result = result + line + "\n";
}
reader.close();
in.close();
su.destroy();
return result;
ただし、空文字を返します。
Android/Windowsの契約では、read/writteの許可が同期していないことを知っておく必要があります。接続が確立された後に作成された「ファイル」は、ルートされたデバイスであってもアクセス可能であってはなりません。同様に、Androidで 'File'を消去しても、Windowsがディレクトリを消滅させることはありません(ディレクトリはLinuxプラットフォームの' File'sで、Androidはビルドされています)。 – Bonatti