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
目录
相关文章
|
5月前
|
SQL 缓存 安全
Android ORM 框架之 greenDAO
Android ORM 框架之 greenDAO
187 0
|
2月前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
3月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台框架解析
在移动应用开发的广阔舞台上,安卓和iOS一直是两大主角。随着技术的进步,开发者们渴望能有一种方式,让他们的应用能同时在这两大平台上运行,而不必为每一个平台单独编写代码。这就是跨平台框架诞生的背景。本文将探讨几种流行的跨平台框架,包括它们的优势、局限性,以及如何根据项目需求选择合适的框架。我们将从技术的深度和广度两个维度,对这些框架进行比较分析,旨在为开发者提供一个清晰的指南,帮助他们在安卓和iOS的开发旅程中,做出明智的选择。
|
19天前
|
前端开发 Java 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
在Android开发领域,框架犹如指路明灯,助力开发者加速应用开发并提升品质。本文将介绍五大必备框架:Retrofit简化网络请求,Room优化数据库访问,MVVM架构提高代码可维护性,Dagger 2管理依赖注入,Jetpack Compose革新UI开发。掌握这些框架,助你在竞争激烈的市场中脱颖而出,打造爆款应用。
89 3
|
27天前
|
编译器 Android开发 开发者
带你了解Android Jetpack库中的依赖注入框架:Hilt
本文介绍了Hilt,这是Google为Android开发的依赖注入框架,基于Dagger构建,旨在简化依赖注入过程。Hilt通过自动化的组件和注解减少了DI的样板代码,提高了应用的可测试性和可维护性。文章详细讲解了Hilt的主要概念、基本用法及原理,帮助开发者更好地理解和应用Hilt。
42 8
|
2月前
|
设计模式 Java Android开发
探索安卓应用开发:从新手到专家的旅程探索iOS开发中的SwiftUI框架
【8月更文挑战第29天】本文旨在通过一个易于理解的旅程比喻,带领读者深入探讨安卓应用开发的各个方面。我们将从基础概念入手,逐步过渡到高级技术,最后讨论如何维护和推广你的应用。无论你是编程新手还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的代码示例。让我们一起开始这段激动人心的旅程吧!
|
2月前
|
Android开发
基于Amlogic 安卓9.0, 驱动简说(三):使用misc框架,让驱动更简单
如何使用Amlogic T972安卓9.0系统上的misc框架来简化驱动程序开发,通过misc框架自动分配设备号并创建设备文件,从而减少代码量并避免设备号冲突。
26 0
基于Amlogic 安卓9.0, 驱动简说(三):使用misc框架,让驱动更简单
|
2月前
|
存储 前端开发 Java
Android MVVM框架详解与应用
在Android开发中,随着应用复杂度的增加,如何有效地组织和管理代码成为了一个重要的问题。MVVM(Model-View-ViewModel)架构模式因其清晰的结构和高效的开发效率,逐渐成为Android开发者们青睐的架构模式之一。本文将详细介绍Android MVVM框架的基本概念、优势、实现流程以及一个实际案例。
|
3月前
|
前端开发 安全 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
【7月更文挑战第28天】在Android开发领域,五大框架如星辰般指引方向,加速进程,提升应用品质。1. **Retrofit**:Square公司的类型安全HTTP客户端,使网络请求变得优雅简洁。2. **Room**:Google推荐的ORM库,简化SQLite数据库访问。3. **MVVM**:一种架构模式,提高代码可维护性和扩展性。4. **Dagger 2**:依赖注入框架,减少样板代码,以声明方式管理依赖。5. **Jetpack Compose**:全新的UI工具包,采用声明式UI编程,让UI开发更直观高效。掌握这些框架,能有效应对Android开发挑战,助力打造爆款应用。
218 0
|
4月前
|
JavaScript Java Android开发
kotlin安卓在Jetpack Compose 框架下跨组件通讯EventBus
**EventBus** 是一个Android事件总线库,简化组件间通信。要使用它,首先在Gradle中添加依赖`implementation 'org.greenrobot:eventbus:3.3.1'`。然后,可选地定义事件类如`MessageEvent`。在活动或Fragment的`onCreate`中注册订阅者,在`onDestroy`中反注册。通过`@Subscribe`注解方法处理事件,如`onMessageEvent`。发送事件使用`EventBus.getDefault().post()`。