标题说得好,但问题是:
我有一个带有命令su touch /sdcard/test.txt
的.sh文件,看它是否有效。但我不知道如何在用户安装应用程序时包含它。我怎么能加呢?我想过使用类似的东西:
su
touch /sdcard/folder/path/test.sh
vi /sdcard/folder/path/test.sh
并创建了.sh文件,但我不知道如何发送esc
密钥以便:wq
我知道如何执行该文件,是的,我的手机已植根。我只需要知道如何在安装apk时包含它和/或如何发送esc
密钥来完成vi
命令。
由于
编辑:我创建了一个名为.sh
的{{1}}文件,我创建了一个应用程序,其中一个用于root用户。 test.sh
文件只有test.sh
才能查看我的java代码是否有效。我用一个按钮创建了一个简单的应用程序,在该按钮内单击我有这个:
touch /sdcard/test.txt
但我不知道如何或在哪里添加test.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
try
{
Process proc = Runtime.getRuntime().exec(new String[] {"su","-c","sh ./path where .sh will be/test.sh"});
proc.waitFor();
}
catch (Exception ex)
{
String TAG = null;
Log.i(TAG, "Doesn't work", ex);
}
}
});
文件,因此当用户安装我的应用程序时,文件就在那里。我试过包括
test.sh
现在当我点击我的按钮时,应用程序一直在运行,等待我结束Process proc = Runtime.getRuntime().exec(new String[] {"su","-c","touch /sdcard/prueba.sh ; vi /sdcard/prubea.sh ; ****Don't know how to edit, use ESC key and :wq****});
proc.waitFor();
命令,但我不知道怎么回事,因为我必须按vi
才能{ {1}} ...希望这说清楚
答案 0 :(得分:1)
如果你确定在手机上安装了vi,只需在ascii中查找用于ESC的十六进制代码并将其写入输入缓冲区。
这是一个很好的ASCII图表cppreference.com
答案 1 :(得分:0)
听起来您正在尝试在安装时执行操作。这How to start android service on installation表明这是不可能做到的。