Android:应用程序无法在某些根植设备上工作...为什么?

我在市场上有一个应用程序,只适用于根植设备。我已经在根本无根的G1,MT3G和Cliq上广泛测试了该应用程序,没有任何错误。我收到来自植入设备的人的低收视率,说应用程序告诉他们他们没有植根(当然,他们通常不会留下重要的信息,如电话和什么光盘)Android:应用程序无法在某些根植设备上工作...为什么?

这里是产生错误的代码...任何人都可以看出问题可能是什么?

final Button button = (Button) findViewById(R.id.******); 

button.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

String command1 = "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system";

String command2 = "cp -f /sdcard/******* /etc/";

String command3 = "dos2unix -u /etc/*****";

String command4 = "mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system";

execCommandLine1(command1);

execCommandLine1(command2);

execCommandLine1(command3);

execCommandLine1(command4);

}

void execCommandLine1(String command)

{

Runtime runtime = Runtime.getRuntime();

Process proc = null;

OutputStreamWriter osw = null;

try

{

proc = runtime.exec("su");

osw = new OutputStreamWriter(proc.getOutputStream());

osw.write(command);

osw.flush();

osw.close();

}

catch (IOException ex)

{

Log.e("execCommandLine()", "Command resulted in an IO Exception: " + command);

return;

}

finally

{

if (osw != null)

{

try

{

osw.close();

}

catch (IOException e){}

}

}

try

{

proc.waitFor();

}

catch (InterruptedException e){}

if (proc.exitValue() != 0)

{

**// Error Dialog that is being erroneously displayed**

}

else {

// Success Dialog

}

}

回答:

我同意克里斯托弗的评论:你似乎是做一些假设:在/dev/block/mtdblock3

  • /dev/block/mtdblock3

    • /system是为yaffs2
    • /etc/是硬链接或符号链接的东西上/system
    • mount存在
    • dos2unix存在
    • cp存在
    • su存在

    其中大多数应该是在运行时间检验的,虽然/etc/检查可能会有点棘手。测试的东西了您的应用程序第一次运行,然后做任何有意义:

    • 一个“抱歉,这个应用程序将无法正常工作”,如果你检测故障
    • 禁用菜单/按钮/什么导致什么正在执行您的代码
  • 以上是 Android:应用程序无法在某些根植设备上工作...为什么? 的全部内容, 来源链接: utcz.com/qa/263307.html

    回到顶部