❶ android的shell有啥用
android 底层驱动实际linux, linux中大量使用了shell。那 shell到底是什么东西呢?个人理解相当于windows中的
cmd,但是shell很强大,如果你能熟练使用shell,在android开发中如虎添翼。
下面就android常用的shell进行一下说明:
1. cd (change directory)
如: cd / 跳转到根目录 cd ~ 跳转到用户所在的目录
2. ls (list)
显示目录结构
3. chmod 777 path
在开发过程中,如果发现文件不能读写,首先应该想到是否给user权限,可以通过该命令试试看
改变目录属性,如果目录下面还有子目录,加上-R
4. chown 该变目录所有者
如果目录还有子目录,加上-R
5. rm 目录
如果是文件加上-f
如果是目录加上-r
6. find
找文件,如果找到R.java文件,然后删除它
find . -name R.java|args rm -rf
find . -name *.svn|xargs rm -rf
find . -name *.class|xargs rm -rf
7. 替换,如某个文件中根据某个模式替换某行
如下命令就是找到FPTitlebar.java这个java文件,找不到// pm.shutDown();,用pm.shutDown();替换之。
find . -name FPTitlebar.java -exec sed -i 's\// pm.shutDown();\ pm.shutDown();\' {} \;
比较难的如下所示:
find . -name *.java -exec sed -i 's\KeyEvent.KEYCODE_2\KeyEvent.KEYCODE_CAMERA \g ' {} \;
find . -name *.java -exec sed -i 's\KeyEvent.KEYCODE_1\KeyEvent.KEYCODE_CALL \g ' {} \;
找到所有的java文件,用KeyEvent.KEYCODE_CAMERA替换KeyEvent.KEYCODE_2
8. 编译android源码时实际也是执行shell命令:
//执行build 目录下envsetup.sh命令
. build/envsetup.sh
//弹出选择框,分别选择第一个,第一个,第五个,第三个
choosecombo 1 1 5 3
//设置环境变量
export ANDROID_JAVA_HOME=$JAVA_HOME
//执行update命令
make update-api
//起4 个线程同时编译
make -j 4
9. 如果你使用了第三so包,需要在android编译,直接在mk文件中添加如下设置即可:
如下所示:
1. 声明library名称
###############################
LOCAL_STATIC_JAVA_LIBRARIES := xstream
###############################
2. 加入引入的库文件
###############################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := xstream:xstream-1.3.1.jar
include $(BUILD_MULTI_PREBUILT)
###############################
❷ 在linux 上做的事,在安卓手机的命令行上也能做吗
不能,虽然两者都是基于同一内核开发的产品,但是两者经过了后期开发,两者为了达到一些应用都做了优化、改动,所以在linux 上能做的事情,在安卓那里就不能做,不是说一定不能,这个是可以通过一些小的应用来实现一些的(个人见解)
❸ linux/android下java语句如何赋予shell脚本可执行权限
chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行),chmod-R777*意思就是将当前目录下所有文件都给予777权限这个在服务器里不能随便敲的,不能在根目录下进行此命令,因为有些进程是指定权限(如755、700)才能运行的所以会出错
❹ 如何进入Android adb shell 命令行模式
如果你配置了adb的环境变量
那么你连接手机以后,直接执行 adb shell 则进入命令模式了
如果你没有配置环境变量,那么,你需要进入sdkplatform-tools目录下
再执行 adb shell
❺ android apk 怎么执行adb shell命令
android中执行shell命令有两种方式: 1.直接在代码中用java提供的Runtime 这个类来执行命令,以下为完整示例代码。 public void execCommand(String command) throws IOException { // start the ls command running //String[] args = new String[]{"sh", "-c", command}; Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec(command); //这句话就是shell与高级语言间的调用 //如果有参数的话可以用另外一个被重载的exec方法 //实际上这样执行时启动了一个子进程,它没有父进程的控制台 //也就看不到输出,所以需要用输出流来得到shell执行后的输出 InputStream inputstream = proc.getInputStream(); InputStreamReader inputstreamreader = new InputStreamReader(inputstream); BufferedReader bufferedreader = new BufferedReader(inputstreamreader); // read the ls output String line = ""; StringBuilder sb = new StringBuilder(line); while ((line = bufferedreader.readLine()) != null) { //System.out.println(line); sb.append(line); sb.append('\n'); } //tv.setText(sb.toString()); //使用exec执行不会等执行成功以后才返回,它会立即返回 //所以在某些情况下是很要命的(比如复制文件的时候) //使用wairFor()可以等待命令执行完成以后才返回 try { if (proc.waitFor() != 0) { System.err.println("exit value = " + proc.exitValue()); } } catch (InterruptedException e) { System.err.println(e); } } } 2.直接安装shell模拟器,即已经开发好的android应用,启动后类似windows的dos命令行,可以直接安装使用,可执行常用的linux命令,应用在附件。 shell.apk大小:455.51K所需财富值:5 已经过网络安全检测,放心下载 点击下载下载量:1
❻ 请问, 小米手机的操作系统是Android的优化版MIUI, 该系统可以像linux那样使用shell终端执行命令吗
可以,安卓都行,下个终端模拟器就行了,如果没有busybox,建议装一个,这样就可以执行好多命令。