Выполнить командную оболочку "echo test > /sdcard/testlog.txt" с помощью executeShellCommand в UiAutomator 2.0

Я пытаюсь создать новый файл с помощью оболочки cmd:

echo test > /sdcard/testlog.txt

Но когда я делаю это с executeShellCommand в UiAutomator 2.0. Результат будет только echo "test > /sdcard/testlog.txt" вместо создания testlog.txt с контентом: test.

Как я могу выполнить такую ​​оболочку cmd?

Код является:

      String cmd = "echo test > /sdcard/testlog.txt";
      Log.i("AndroidUiTool2", mDevice.executeShellCommand(cmd));

Результат:

04-11 14:55:08.559 21520-21550/com.transsion.smoketest I/AndroidUiTool2: test > /sdcard/testlog.txt

2 ответа

Вы можете попробовать этот код:

манифесты

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

testclass.java

FileWriter fw = new FileWriter(Environment.getExternalStorageDirectory() + "/testlog.txt", true);    
BufferedWriter bw = new BufferedWriter(fw);
bw.write("test");    
bw.close();    

Настройки> Приложение> Выберите приложение> Разрешение хранилища
Было бы написать "тест" в testlog.txt с вашего устройства

Ты можешь попробовать

String cmd =  = "sh -c 'echo test > /sdcard/testlog.txt'";
Другие вопросы по тегам