开发者社区> 玄学酱> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Android之RootTools框架简单使用

简介:
+关注继续查看

Android目录结构

Android目录结构

data

  • app:用户安装的应用
  • 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:列出目录下的所有文件和文件夹cd:切换到某个目录

  • ls -l:查看文件的详细信息
  • ls -a:查看隐藏文件

cat:查看文件内容

  • cat 文件名
  • 不要cat二进制可执行文件

mv:move 修改文件名

  • mv 原文件名 新文件名

mkdir:创建文件夹

  • mkdir 文件夹名字

rmdir:删除文件夹

  • rmdir 文件夹名字

touch:创建新文件

  • touch 文件名

chmod:change mode,切换文件访问权限

  • chmod 777 文件名

echo:回显数据;重定向数据sleep:睡眠几秒

  • echo 数据 > 文件名

df:显示指定目录的容量

id:打印当前用户的idps:列出系统中运行的所有进程

  • uid=0:root
  • uid=1000:system
  • uid=2000:shell
  • uid=10000+:一般应用程序的id

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:PackageManagermonkey -p com.itheima.createfile 1000:自动点击指定应用1000次

  • pm disable 包名:冻结指定应用
  • pm enable 包名:解冻指定应用

刷模拟器,rom写文件(su)

  • 如果想让真实手机运行这些指令,手机必须要有root权限
  • 刷root原理:把su二进制文件拷贝到/system/bin或者/system/xbin
  • Android刷root软件,工作的原理全部都是利用系统的漏洞实现
  • rom:可以理解为android系统的安装文件
  • 把su文件和superuser.apk写入img文件
  • 执行su指令

Runtime.getRuntime().exec("su");

小案例:冻结解冻应用

冻结和解冻指定的应用


  1. RootTools.sendShell("pm disable " + package, 300000); RootTools.sendShell("pm enable " + package, 300000); 

小案例:零权限读取用户隐私数据

直接修改短信数据库访问权限


  1. RootTools.sendShell("chmod 777 data/data/com.android.providers.telephony/databases/mmssms.db", 300000); 
  2. SQLiteDatabase db = SQLiteDatabase.openDatabase("data/data/com.android.providers.telephony/databases/mmssms.db"null, SQLiteDatabase.OPEN_READONLY); 
  3. Cursor cursor = db.query("sms", new String[]{"body""address"}, nullnullnullnullnull); 
  4. while(cursor.moveToNext()){ String body = cursor.getString(0); 
  5. String address = cursor.getString(1); System.out.println(body + ";" + address); } 
  6. RootTools.sendShell("chmod 660 data/data/com.android.providers.telephony/databases/mmssms.db", 300000); 

静默安装

为什么有静默安装的需求自动下载应用,然后静默安装

  1. 正规应用。电子市场,方便用户静默安装
  2. 流氓软件。后台偷偷下载安装。

  1. //静默安装 RootTools.sendShell("pm install sdcard/flowstat.apk", 30000); 
  2. //打开 RootTools.sendShell("am start -n com.jijian.flowstat/com.jijian.flowstat.TrafficWidgetSetting", 30000); 
  3. //卸载应用 RootTools.sendShell("pm uninstall com.jijian.flowstat", 30000);
  4. //删除下载的apk包 RootTools.sendShell("rm sdcard/flowstat.apk", 30000); 

修改字体

  • 把ttf文件刷进img中
  • Android系统默认的中文字体为DroidSansFallBack.ttf
  • 用你想使用的字体ttf文件替换掉这个文件即可

修改开机动画

  1. 从真机中得到bootanimation.zip
  2. 把bootanimation.zip放入system/media目录下

删除锁屏密码

    删除data/system下的key文件

  • 文本密码为password.key
  • 手势密码为gesture.key




本文作者:佚名
来源:51CTO

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片
【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片
160 0
Android开发重要参考资料
=======================博客============================= 秋百万 有心课堂 郭霖 源码 安装ffmpeg 胡凯 官方培训课程 litesuitsway 爱哥 trinea robinRobin Hu...
853 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android插件化:从入门到放弃
立即下载
Android开发之多进程架构
立即下载
Android组件化实现
立即下载