Android中常用shell命令详解
设置adb环境变量
其实就是将的路径放到Path中,目的是cmd直接可以使用adb命令 
比如我的路径G:\tools\adt-bundle\sdk\ 
我的电脑》高级》设置》环境变量》Path》增加G:\tools\adt-bundle\sdk\platform-tools 
(注意不要)
检测环境变量
打开cmd窗口,输入adb看效果 
如果出现一堆adb信息说明配置成功 
如果出现’adb’ is not recognized as an internal or external command
进入shell
adb shell 
如果有多个设备怎么办? 
adb devices查看你的设备; 
adb -s xiaomi shell:-s命令表示选择设备,这里是选择xiaomi设备进shell
ls查看文件
ls -l /system/app/Demo.apk 
rwxr-xr-x root root 48550 2016-02-22 21:55 CertificateInstallerProviders.apk 
Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。 
对rwxr-xr-x 的解读: 
rwx(Owner)r-x(Group)r-x(Other) 
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。 
命令中r=4,w=2,x=1,比如 
chmod 644 system/app/Demo.apk命令执行以后,查看这个文件发现权限被修改了 
ls -l /system/app/Demo.apk 
-
rw-r–r– root root 48550 2016-02-22 21:55 Demo.apk(将这个apk放在了system下面,而且还让它具有root权限了)
ls -a 列出当前目录下的所有文件
cd切换路径
cd /mnt/sdcard 切换到内存卡
mount挂载
mount -o remount,rw /system 将/system目录挂载,设置为可以读写 
实例: 
127|shell@android:/mnt/sdcard $ mount -o remount,rw /system 
mount -o remount,rw /system 
mount: Operation not permitted 
如果出现mount: Operation not permitted说明没有root权限
su获取ROOT权限
前提是你的手机已经root了 
su命令表示切换ROOT用户下运行(就是说你有了root权限啦) 
下面先获取root,获取root成功的时候$变成了#
255|shell@android:/mnt/sdcard $ su 
su 
root@android:/storage/sdcard0 # mount -o remount,rw /system 
mount -o remount,rw /system 
此时在执行挂载就可以成功
注意:$表示普通权限用户;#表示ROOT权限用户。
cp复制文件
cp -f /sdcard/SDKLongRrs.apk /system/app/SDKLongRrs.apk## 
如果 cp: not found,说明该手机中cp命令不存在,换cat复制试试 
127|root@android:/storage/sdcard0 # cat /sdcard/SDKLongRrs.apk> /system/app/SDKLo
ngRrs.apk 
rs.apk> /system/app/SDKLongRrs.apk < 
右箭头>指明拷贝的方向哈
获取md5值
md5 /system/app/SDKLongRrs.apk 
获取一个目录下所有文件的md5 
md5 /system/app/*
chmod修改文件权限
让apk变成可以安装的 
chmod 644 /system/app/SDKLongRrs.apk
pm安装apk卸载应用
pm install -r /system/app/SDKLongRrs.apk 
pm uninstall com.baidu.map.location
cmd安装apk卸载应用
adb install C:\Users\Administrator\Desktop\Root.apk 
这个将电脑桌面的Root.apk安装到手机上 
有可能不成功,直接看信息,对照英文原因,比如小米的需要点击允许安装,在比如空间不足,在比如应用已经存在手机上
adb uninstall com.baidu.map.location(你需要知道应用的包名哈)
启动应用
(1)启动Activity 
am start -leplayapp.storerootsuaction/.MainActivity( 你得知道对应的界面的Activity路径以及包名哈)
adb shell am start -n com.test.provider/.MainActivity
1
2
(2)启动service
1.     <linux命令查看文件夹大小service
2.         android:name=".MyService"
3.         android:description="@string/Desciption"
4.         android:enabled="true"
5.         android:exported="true">
6.         <intent-filter>
7.             <action android:name="service" />
8.         </intent-filter>
9.     </service>   
1
2
3
4
5
6
7
8
9
adb shell am startservice service/.MyService
查看正在运行的 Services
1. adb shell dumpsys activity services [<packagename>]
2. 包名是必须的、不需要写完整的包名、支持模糊匹配
3. 例如adb shell dumpsys activity services com.ample
1
2
3
查看正在运行的 activity
1. adb shell dumpsys activity [<packagename>]
2. 包名是必须的、不需要写完整的包名、支持模糊匹配
3. 例如adb shell dumpsys activity com.ample
1
2
3
clear 清除应用数据
pm leplayapp.storerootsuaction
cmd下直接使用adb shell命令
如果不进入shell的,如何执行以上命令 
cmd下面直接使用adb shell 后面跟上对应的命令就好 
比如清除应用数据 
adb shell pm leplayapp.storerootsuaction
电脑输入文字到手机
比如手机要上百度,手机打开浏览器,点击地址栏,输入法切换到英文,cmd命令
adb shell input text "www.baidu"
1
你会看到手机浏览器的网址变成百度了
文件传输
电脑复制文件到手机 
方法1:cmd下面使用push命令 
adb push “C:\Users\Administrator\Downloads\Root.apk” /mnt/sdcard/goodRoot/ 
将电脑下载里面的Root.apk复制到手机sdcard的goodRoot文件夹下面 
方法2:直接使用eclipse里面的File Explorer(对android程序员而言的哈) 
复制手机文件到电脑 
adb pull /l C:\Users\linux\l
快速获取文件路径
打开cmd,将文件拖进来,你就可以看到文件的路径哈
eclipse中File Explorer的使用
手机调试模式连接电脑,使用File Explorer可以查看手机文件; 
root以后的手机可以查看data下面的文件 
如果已经root,但是data打不开,使用以下命令 
cmd下面 
adb shell 
shell@android:/ $ su root 
chmod -R 755 /data 
(R必须大写,linux命令区分大小写的,cmd命令不区分大小写,shell命令是一种linux命令) 
点击这里查看chmod 755的含义
rm 删除命令
rm -r /mnt/sdcard/AppFolder/a.mp3 移除a.mp3文件 
删除文件夹的时候需要加上-r参数 
rm -r /mnt/sdcard/AppFolder
关闭程序
adb shell am force-stop 包名
一次卸载多个应用
1. adb uninstall com.android.a
2. adb uninstall com.android.b
3. adb uninstall com.android.c
4. adb uninstall com.android.d
5. adb uninstall com.android.e
1
2
3
4
5
将这多条命令写成一个.bat文件,直接点击bat就可以卸载多个应用了。
reboot重启手机
adb reboot 重启 
adb reboot recovery 重启进入recovery模式
cat查看文件
这个命令可以查看文件的内容
批量执行多条adb shell命令
adb命令带参数,cmd下面带上参数,先获取su,然后做其他事 
演示在cmd下面可以直接使用su权限来删除/system/bin/testa文件和/system/xbin/testb 
adb shell “su -c ‘rm -r -f /system/bin/testa’” 
adb shell “su -c ‘rm -r -f /system/xbin/testb’” 
如果是直接一条条执行shell命令将是下面的4条命令 
adb shell 
su 
rm -r -f /system/bin/testa 
rm -r -f /system/xbin/testb 
如何批量执行多条命令呢 
写一个.bat文件,文件内容如下: 
adb shell “su -c ‘rm -r -f /system/bin/testa’” 
adb shell “su -c ‘rm -r -f /system/xbin/testb’” 
pause 
保存为bat文件,直接点击执行.(windows系统下)。 
(pause表示不关闭cmd窗口,这样就可以看到执行的结果了)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。