1、android下的用户权限及系统的目录介绍:
root权限: 0
system: 1000
shell: 2000
app应用权限: 大于10000 /data/data/packagname
/data/data : 私有目录,每安装一个新的应用,就会在此目录下创建一个包名文件夹,权限只归当前用户所有
/data/local/tmp :一个临时目录,adb执行安装应用时,会先将apk放到次目录,所属用户及用户组是shell用户.
/data/app : 安装的第三方应用apk存放目录,所属用户及用户组为system
/system/app: 系统预装的应用apk存放目录,文件的所属用户及用户组为root,该目录下的apk想要删除需要有root权限
/system/bin,/system/xbin :存放的是linux下的相关指令可执行文件。该目录下的可执行文件不需要指定目录就可以直接执行,相当于windows下配置了环境变量
2、常用的adb指令及adb shell指令(熟悉android adb指令及shell指令)
adb android debug bridge 建立手机与电脑之间通信连接
adb devices : 列出当前电脑所连接的所有android设备
adb shell :挂载到手机linux环境
adb -s serialNumber : 如果电脑连接多台android设备,需要在adb 后加-s指定操作哪台设备
adb start-server : 开启adb服务的连接
adb kill-server : 关闭adb服务的连接
netstat -oan : 查看进程端口,adb运行的端口是:5037 , 根据端口找到进程id,再去任务管理器中找到对应的程序,结束掉,然后,再重启adb的连接
adb pull phone_path pc_path : 将手机端的文件拉到pc端,
adb push pc_path phone_path:将pc端文件放到手机端
adb install [-r -s -f ] apktpath: 安装应用 ,-r 强制安装,-s 安装到sdcard ,-f安装到/data/app;
adb uninstall packagename: 卸载应用
adb reboot:重启
adb reboot recovery : 重启进入到恢复模式
adb reboot fastboot : 进入手机引导模式,类似于pc bios设置;htc
shell指令: pm package manager
pm install -r -f -s phone_apk_path:安装手机里的一个应用
pm uninstall [-k ] packagename :卸载应用,-k保留应用程序的数据信息
pm getInstallLocation:获取apk默认安装的位置
pm setInstallLocation location(0:auto,1 :internal,2:sdcard);设置apk安装的位置
pm path packagename:获取apk的安装路径
pm clear packagename: 清空应用的数据及缓存信息,将程序恢复到默认状态
pm disable packagename
pm enable packagename;
启动一个activity
am start -a(action) -d(data) -c(category) -n(packagename/类的完整路径)
启动一个广播
am broadcast -a com.android.test --es test_string "this is test string" --ei test_int 100 --ez test_boolean true
am startservice -n com.android.traffic/com.android.traffic.maniservice(启动一个service)
--es 代表要携带一个String类型的intent参数,
--ei int类型
--ez boolean类型
am start -a android.intent.action.VIEW -d http://www.google.cn/ (启动一个浏览器)
am start -a android.intent.action.CALL -d tel:10086 (启动一个actiity)
logcat:查看日志信息 ,是一个shell指令
monkey -p packagename count :monkey -p com.android.email 500;
cat /proc/cpuinfo :查看cpu信息
dumpsys cpuinfo | notification |meminfo ;
3、linux常用指令
busybox 工具箱 linux指令集
ls 【-l】:列出当前目录下的所有文件,-l :代表查看文件的详细信息
cd dir: 进入某个目录
cat : cat filepath:查看文件的内容; cat source > des :将source文件拷贝到des文件
cp:cp sourcefilepath desfilepath,文件的拷贝和cat功能相似
mkdir :mkdir [-p] dirpath; 创建文件夹,-p创建多级目录
rm: rm [-r] filepath ; 删除一个文件,如果要删除一个文件夹需要加-r
mount :查看当前磁盘的挂载情况; mount -o remount rw /system;挂载system分区为可读可写
mv: mv sourcefilepath desfilepath;移动文件的
md5: 查看文件的MD5值
echo: echo '111' > a.txt;创建一个文件并为文件初始化内容
touch filename: 创建一个空文件
chmod: chmod 777 filepaht;改变文件的权限。
chown: chown 0.0 /data/local/tmp/a.txt ; 改变文件的所属用户及所属用户组;
lsattr: 查看文件的属性
chattr +i +a filepath : 改变文件的属性+i +a后,无法更改移除此文件。
df: df 磁盘目录;查看磁盘空间情况
ps: 查看系统所有运行的进程
kill pid: 根据进程id杀死进程
id: 查看当前用户所属的用户及用户组
sleep 5: sleep 5秒。
halt: 关机
reboot:重启
4、root权限下的操作演示
1.预装应用卸载
1.<code>pm path packagename </code>;获取应用的安装路径
2.rm filepath;删除应用的安装包
3.rm -r /data/data/packagename ;删除缓存数据
2.更换字体(由于字体文件在system所以需要有root权限才能替换)
将/system/fonts目录下的DroidSansFallback.ttf替换为自己的字体文件即可 .
3.查看wifi密码
曾经连接过的wifi密码都在 /data/misc/wifi/wpa_supplicant.conf
4.秒备联系人短信
/data/data/com.android.provider.contact
/data/data/com.android.provider.telephone
5.截屏
screen可执行程序
6.更换开机动画
替换 /system/media/bootaniation.zip(注意压缩时用winrar 压缩存储模式)
三星官方系统 需要替换/system/bin/samsungani 为自己的 然后执行上面的步骤。
7.破解密码锁
删除此文件/data/system/gesture.key
8.应用数据的备份
-r 递归处理,将指定目录下的文件与子目录一并处理。
-p 或 --preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-P 或 --parents 保留源文件或目录的路径,此路径可以是绝对路径或相对路径
9.结束系统进程
kill pid