如何在apk安装上添加.sh并执行它们?

时间:2012-10-04 20:31:25

标签: android file vi sh

标题说得好,但问题是:

我有一个带有命令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}} ...希望这说清楚

2 个答案:

答案 0 :(得分:1)

如果你确定在手机上安装了vi,只需在ascii中查找用于ESC的十六进制代码并将其写入输入缓冲区。

这是一个很好的ASCII图表cppreference.com

答案 1 :(得分:0)

听起来您正在尝试在安装时执行操作。这How to start android service on installation表明这是不可能做到的。