Android下的Linux指令集
2016-04-29 15:37
225 查看
Android目录结构
dataapp:用户安装的应用
data:应用的专属文件夹
system:系统的配置信息,注册表文件
anr:anr异常的记录信息
dev:devices的缩写
存放设备所对应的文件
mnt:mount的缩写
挂载在系统上的设备:sdcard,u盘
proc:硬件配置,状态信息
cpuinfo、meminfo
sbin:system bin
系统重要的二进制执行文件
adbd:服务器的adb进程
system:
app:存放系统应用,默认不能删除
bin:Android中可执行的linux指令文件
etc:host:主机名和ip地址的映射
fonts:Android中自带的字体
framework:存放谷歌提供的java api
lib:核心功能的类库,C/C++文件
media/audio:存放Android的音效文件
tts:语音发声引擎,默认不支持中文
usr:用户设备的配置信息,键盘编码和按键编码的映射
xbin:是专为开发人员准备的二进制指令
Android下的Linux指令
su:superuser切换到超级用户
rm:remove,删除文件
rm 文件名
ls:列出目录下的所有文件和文件夹
ls -l:查看文件的详细信息
ls -a:查看隐藏文件
cd:切换到某个目录
cat:查看文件内容
cat 文件名
不要cat二进制可执行文件
mv:move 修改文件名
mv 原文件名 新文件名
mkdir:创建文件夹
mkdir 文件夹名字
rmdir:删除文件夹
rmdir 文件夹名字
touch:创建新文件
touch 文件名
chmod:change mode,切换文件访问权限
chmod 777 文件名
echo:回显数据;重定向数据
echo 数据 > 文件名
sleep:睡眠几秒
df:显示指定目录的容量
id:打印当前用户的id
uid=0:root
uid=1000:system
uid=2000:shell
uid=10000+:一般应用程序的id
ps:列出系统中运行的所有进程
kill:杀死指定pid的进程
kill pid
chown:change owner,修改拥有者
chown 0.0 文件名
mount:挂载文件系统
mount -o remount rw /:挂载当前目录为可读可写权限
mount -o remount rw /system:重新挂载指定目录
Android中特有的指令
am:ActivityManager,可以进行跟activity相关的操作am start -n com.itheima.createfile/com.itheima.createfile.MainActivity:开启指定Activity
am kill com.itheima.createfile:结束非前台进程
am force-stop com.itheima.createfile:结束进程
pm:PackageManager
pm disable 包名:冻结指定应用
pm enable 包名:解冻指定应用
monkey -p com.itheima.createfile 1000:自动点击指定应用1000次
刷模拟器,rom写文件(su)
如果想让真实手机运行这些指令,手机必须要有root权限刷root原理:把su二进制文件拷贝到/system/bin或者/system/xbin
Android刷root软件,工作的原理全部都是利用系统的漏洞实现
rom:可以理解为android系统的安装文件
把su文件和superuser.apk写入img文件
执行su指令
Runtime.getRuntime().exec("su");
小案例:冻结解冻应用
冻结和解冻指定的应用RootTools.sendShell("pm disable " + package, 300000); RootTools.sendShell("pm enable " + package, 300000);
小案例:零权限读取用户隐私数据
直接修改短信数据库访问权限RootTools.sendShell("chmod 777 data/data/com.android.providers.telephony/databases/mmssms.db", 300000); SQLiteDatabase db = SQLiteDatabase.openDatabase("data/data/com.android.providers.telephony/databases/mmssms.db", null, SQLiteDatabase.OPEN_READONLY); Cursor cursor = db.query("sms", new String[]{"body", "address"}, null, null, null, null, null); while(cursor.moveToNext()){ String body = cursor.getString(0); String address = cursor.getString(1); System.out.println(body + ";" + address); } RootTools.sendShell("chmod 660 data/data/com.android.providers.telephony/databases/mmssms.db", 300000);
静默安装
为什么有静默安装的需求正规应用。电子市场,方便用户静默安装
流氓软件。后台偷偷下载安装。
自动下载应用,然后静默安装
//静默安装 RootTools.sendShell("pm install sdcard/flowstat.apk", 30000); //打开 RootTools.sendShell("am start -n com.jijian.flowstat/com.jijian.flowstat.TrafficWidgetSetting", 30000); //卸载应用 RootTools.sendShell("pm uninstall com.jijian.flowstat", 30000); //删除下载的apk包 RootTools.sendShell("rm sdcard/flowstat.apk", 30000);
修改字体
把ttf文件刷进img中Android系统默认的中文字体为DroidSansFallBack.ttf
用你想使用的字体ttf文件替换掉这个文件即可
修改开机动画
从真机中得到bootanimation.zip把bootanimation.zip放入system/media目录下
删除锁屏密码
删除data/system下的key文件文本密码为password.key
手势密码为gesture.key
相关文章推荐
- centos6.x 安装MySQL5.6
- Linux 下面jdk 安装
- ubuntu livecd isolinux的定制
- 如何在CentOS 7中添加新磁盘而不用重启系统
- Centos 6.5 安装JDK
- Linux 解决/usr/bin/ld: cannot find -lcap
- 在 linux 下使用 CMake 构建应用程序
- linux学习笔记入门之用户及文件权限
- ch1 Unix和linux
- Linux下查看文件大小和目录大小以及目录下文件的大小
- centos 编译安装 python
- linux内核bug定位
- linux下qt创建的窗口菜单项在左上方显示的问题
- ArchLinux上安装librdkafka
- linux 僵死进程及其处理方法
- Linux 下安装MySQL
- Linux套接字聊天
- Linux 协议栈之虚假重传超时恢复F-RTO:Forward RTO-Recovery
- Linux操作指令
- linux学习笔记入门之重要的快捷键