Android中常用shell命令详解
设置adb环境变量
其实就是将的路径放到Path中,目的是cmd直接可以使用adb命令
比如我的路径G:\tools\adt-bundle\sdk\
我的电脑》高级》设置》环境变量》Path》增加G:\tools\adt-bundle\sdk\platform-tools
(注意不要)
比如我的路径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
如果出现一堆adb信息说明配置成功
如果出现’adb’ is not recognized as an internal or external command
进入shell
adb shell
如果有多个设备怎么办?
adb devices查看你的设备;
adb -s xiaomi shell:-s命令表示选择设备,这里是选择xiaomi设备进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
-
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权限
实例:
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成功的时候$变成了#
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
此时在执行挂载就可以成功
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
如果 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 <
右箭头>指明拷贝的方向哈
rs.apk> /system/app/SDKLongRrs.apk <
右箭头>指明拷贝的方向哈
获取md5值
md5 /system/app/SDKLongRrs.apk
获取一个目录下所有文件的md5
md5 /system/app/*
获取一个目录下所有文件的md5
md5 /system/app/*
chmod修改文件权限
让apk变成可以安装的
chmod 644 /system/app/SDKLongRrs.apk
chmod 644 /system/app/SDKLongRrs.apk
pm安装apk卸载应用
pm install -r /system/app/SDKLongRrs.apk
pm uninstall com.baidu.map.location
pm uninstall com.baidu.map.location
cmd安装apk卸载应用
adb install C:\Users\Administrator\Desktop\Root.apk
这个将电脑桌面的Root.apk安装到手机上
有可能不成功,直接看信息,对照英文原因,比如小米的需要点击允许安装,在比如空间不足,在比如应用已经存在手机上
这个将电脑桌面的Root.apk安装到手机上
有可能不成功,直接看信息,对照英文原因,比如小米的需要点击允许安装,在比如空间不足,在比如应用已经存在手机上
adb uninstall com.baidu.map.location(你需要知道应用的包名哈)
启动应用
(1)启动Activity
am start -leplayapp.storerootsuaction/.MainActivity( 你得知道对应的界面的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 后面跟上对应的命令就好
比如清除应用数据
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文件夹下面
方法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
复制手机文件到电脑
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
root以后的手机可以查看data下面的文件
如果已经root,但是data打不开,使用以下命令
cmd下面
adb shell
shell@android:/ $ su root
chmod -R 755 /data
(R必须大写,linux命令区分大小写的,cmd命令不区分大小写,shell命令是一种linux命令)
点击这里查看chmod 755的含义
点击这里查看chmod 755的含义
rm 删除命令
rm -r /mnt/sdcard/AppFolder/a.mp3 移除a.mp3文件
删除文件夹的时候需要加上-r参数
rm -r /mnt/sdcard/AppFolder
删除文件夹的时候需要加上-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模式
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
演示在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窗口,这样就可以看到执行的结果了)
如何批量执行多条命令呢
写一个.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小时内删除。
发表评论