执行shell cmd" echo test> /sdcard/testlog.txt"通过UiAutomator 2.0中的executeShellCommand

时间:2017-04-11 07:31:39

标签: android uiautomator android-uiautomator

我尝试使用shell cmd创建一个新文件:

echo test > /sdcard/testlog.txt

但是当我在UiAutomator 2.0中使用executeShellCommand时。 结果将仅为echo "test > /sdcard/testlog.txt",而不是使用content:test。

创建testlog.txt

如何执行这样的shell 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 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

显示

  <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();    

设置&gt;应用&gt;选择您的应用&gt;启用存储权限
它会写&#34;测试&#34;在您设备的testlog.txt中

答案 1 :(得分:0)

你可以尝试

String cmd =  = "sh -c 'echo test > /sdcard/testlog.txt'";