从android应用程序在运行时执行adb shell命令

时间:2010-04-12 11:15:03

标签: android shell command execute adb

在我的应用程序中,我想在运行时从我的应用程序在sdcard中创建一个目录xyz。

但它不起作用。

这是我的代码..

public class process extends Activity
{

/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    String[] str ={"mkdir","/sdcard/xyz"};

    try { 
        Process ps = Runtime.getRuntime().exec(str);
        try {
            ps.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } 
    } catch (IOException e) {
        Toast.makeText(this, ""+e, Toast.LENGTH_LONG).show();
  }

}
}

2 个答案:

答案 0 :(得分:1)

我不知道你是否可以在Android中使用exec()脚本,我强烈怀疑你不能。

无论如何,您无需创建目录。这样做:

  

新文件(“/ sdcard / xyz”)。mkdirs();

答案 1 :(得分:0)

在sdcard中使用以下代码作为make目录。

File dir = new File("/mnt/sdcard/xyz");
try{
    if(dir.mkDir()) {
        System.out.println("Directory created");
    } else {
        System.out.println("Directory is not created");
}catch(Exception e){
  e.printStacktrace();
}

并在android清单文件中添加以下uses-permission。

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