资源描述:
《java中运行shell命令android》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java中运行ShellforAndroid 1.#!/system/bin/sh2.#最简单的一个shell,没什么功能3.#需要注意的是必须是#!/system/bin/sh开头(有空格)4.#和一般linux不同,如果用#!/bin/sh就会找不到(因为没有)5.ls复制代码 在cmd中用adbpushd:\x.sh/data/kenshin上传shell 第一个参数是本地文件位置,第二个是远程位置(也就是放在android中的位置),在根目录的data目录下,kenshin是我自己创建的一个文件夹. 如果失败了,说是只有只读权限的话,需要修改文件夹的权限.具体如下: 进
2、入adbshell,使用mount命令查看挂了哪些块. 1.C:DocumentsandSettingsKenshintang>adbshell2.#mount3.mount4.rootfs/rootfsro005.tmpfs/devtmpfsrw,mode=755006.devpts/dev/ptsdevptsrw,mode=600007.proc/procprocrw008.sysfs/syssysfsrw009.tmpfs/sqlite_stmt_journalstmpfsrw,size=4096k0010./dev/block/mtdblock0/systemyaffs2ro
3、,noatime,nodiratime0011./dev/block/mtdblock1/datayaffs2rw,nosuid,nodev0012./dev/block/mtdblock2/cacheyaffs2rw,nosuid,nodev00复制代码 比如/dev/block/mtdblock0/system就是只读的,/dev/block/mtdblock1/data是读写的 修改读写权限用mount命令 例如 mount-tyaffs2-oremount,rw,noatime,nodiratime/dev/mtdblock0/system -o选项用来描述设备或者档案的
4、挂接方式,常用的有 loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 具体的用法可以googlelinux命令mout的用法. 上面那句话的意思就是让/system文件夹有读写的权限2.cd到shell所在的文件夹,查看x.sh的权限,一般上传上去的话是没有执行权限的,可以用ls-l查看 使用chmod777x.sh增加权限,具体可以googlechmod的用法.3.执行 ./x.sh4.如何在程序中执行shell1.packagecom.kenshin.hellocommand
5、;2.3.importjava.io.BufferedReader;4.importjava.io.IOException;5.importjava.io.InputStream;6.importjava.io.InputStreamReader;7.importandroid.app.Activity;8.importandroid.os.Bundle;9.importandroid.widget.TextView;10.11.publicclassHelloCommandextendsActivity{12. /**Calledwhentheactivityisfirstcreate
6、d.*/13. privateTextViewtv;14. 15. @Override16. publicvoidonCreate(BundlesavedInstanceState){17. super.onCreate(savedInstanceState);18. setContentView(R.layout.main);19. tv=(TextView)findViewById(R.id.tv01);20. 21. 22. try{23. execCommand("./data/kensh
7、in/x.sh"); 24. }catch(IOExceptione){25. //TODOAuto-generatedcatchblock26. e.printStackTrace();27. }28. }29. 30. publicvoidexecCommand(Stringcommand)throwsIOException{31.32.