avatar

Rhyland Tech

从零开始 创造无限可能

  • 首页
  • 过往
  • 友链
  • 关于
Home 你对 Android 一无所知_开发者模式(一)
文章

你对 Android 一无所知_开发者模式(一)

Posted 2020-11-20 Updated 2025-02- 14
By TaurusXin
27~35 min read
开发者模式!多么让人热血沸腾的一个词!这就像是后备隐藏能源,全球热核战争,午夜三点轰鸣的服务器机房一样。朗读其中的选项,任何人都能获得驾驶EVA的既视感!?
每个geek的硬盘里,都应该有一部战争游戏
强制GPU渲染,4*MSAA,启用HW叠加层……本系列会逐一介绍开发者模式里有意思的功能。而作为使用频率最高的功能,本期的主角自然是……

USB调试模式—前言

USB调试几乎是开发者模式里最强大的功能,通过Google开放的ADB SDK的命令,你几乎可以对你的android做任何事。如果你想给你的爪机整上氢OS或smartOS,那打开USB调试基本就是你要做的第一件事。 当然烧录ROM只是USB调试实现的无数功能之一,ADB更有意思的玩法在于无root情况下获得对android的超级管理。为了演示ADB命令的作用,这里以我服役多年的Huawei P10为例。

1.sudo权限

由于Huawei手机的防爆机制极为严苛,用户几乎无法通过第三方app获取root权限,想要获得权限甚至需要向官方递交申请,这就为许多顽固第三方app赢得了空间。而ADB的出现一举解决了这个问题。 首先,第一步就是打开【USB调试】与【仅充电下启用USB调试】 在PC上准备好ADB工具包,并打好爪机驱动
(官方Android SDK)
连接设备,WIN+R+cmd启用终端,cd到adb sdk目录下 用adb devices命令列出已连接设备,确认连接成功 为了干掉顽固的第三方,我们首先需要知道第三方app的应用包名,以系统默认浏览器为例,在MIUI中我们可以轻易的在应用设置中找到包名:com.android.browser 然而EMUI中我们甚至不能在设置里查看,这时一条通用的途径是用: adb shell pm list packages >installed_apps.txt命令导出应用包列表再查看 看到adb目录下生成的txt就表明导出成功了,里面列举了所有系统进程及app包名,我们只需要找出自己的目标即可。 此时,在终端中输入adb shell pm uninstall --user 0+要卸载的应用包名就可以绕过root权限卸载,以系统默认浏览器为例 输入:adb shell pm uninstall --user 0 com.android.browser 大大的Success~ 进手机查看一下,浏览器原地消失了?

2.权限管理

adb sdk还内嵌了对app权限的管理命令。在多数Android魔改版中app权限设置都只是些表面功夫,比如永远关不掉的系统更新,权限在背地里永远处于allow状态。解决这种状态,只要用adb强制关闭即可。 先来看下华为应用市场的占有权限,在adb中执行: adb shell appops get com.huawei.appmarket 可以看到appmarket所有相关权限状态与访问记录。 实际每种权限的状态有4种,分别为: [ Allow, Deny, Default, Ignore ] 在EMUI中,所有这些权限都不能主动修改,而在这里,通过命令adb shell appops set + 应用包名 + 权限状态我就可以为所欲为 比如臭名昭著的大学毒瘤app: 知到 adb shell appops get com.able.wisdomtree 权限不多,但我对他恨之入骨 如果要禁用它地指纹读取,我只要: adb shell appops set com.able.wisdomtree USE_FINGERPRINT ignore 再次查看,权限已变为ignore状态。Easy peasy lemon squeasy~? 之所以不激进地使用deny,是因为有些app检测到权限deny后会终止运行,而给他们分配ignore权限可以做到混淆视听,让app不调用权限的情况下也能运行。

3.状态分析

此外,ADB命令可以用来做大量的数据分析,pull出系统的各种状态,这类命令多而琐碎,这里放出几个,大家感兴趣自行探索。 adb shell dumpsys前缀命令可以“倒出“系统的各种硬件状态,比如: adb shell dumpsys battery 可以看到目前的充电方式,最大充电功率,电池温度等。 adb shell dumpsys window displays可以显示出屏幕的dpi,实际渲染分辨率,屏幕出厂信息等(过多,图中未截出) adb shell dumpsys package + 包名可以查看应用包名,USER_ID,文件资源代码路径,版本信息,权限信息,签名版本等。例如: adb shell dumpsys package com.ironhidegames.android.kingdomrush 这句可以找到近乎完整的应用信息,要素过多这里就不放了 adb shell top可以pull出系统实时资源占用表,可以看出各进程的优先级,峰值CPU占有率,内存占用总量等。 表面上说,这个窗口类似win上的资源管理器,只有观赏价值,但并不说明这些数据没有用,最近也有越来越多的人尝试用adb做数据分析,比如B站up EPC新出炉的教程:https://www.bilibili.com/video/BV1FK4y1f7vm 其中就用adb导出了内存占用日志,通过ps -A>>/sdcard/memory.log就可以做到,对此不多赘述。

4.Monkey!以及尾声

Monkey算是adb里有意思的一个工具,通过向应用发送随机的点按来对app进行压力测试,运行: adb shell monkey -p com.ironhidegames.android.kingdomrush -v 100 之后小猴子会对kingdomrush发送100次的随机事件,在终端里可以看到随机数种子,以及成吨的信息,这个功能我觉得主要还是硬核开发者的玩具吧,你也可以把随即次数设成1w+试试hhh 对于开发者模式,可玩的内容还有很多,接下来应该会试着写写4*MSAA以及一些图形学设置的简单对比吧,这里要感谢android开发团队,把用户文档写的如此透彻。
祭出官方文档
科技杂谈
License:  CC BY 4.0
Share

Further Reading

Nov 20, 2020

你对 Android 一无所知_开发者模式(一)

开发者模式!多么让人热血沸腾的一个词!这就像是后备隐藏能源,全球热核战争,午夜三点轰鸣的服务器机房一样。朗读其中的选项,任何人都能获得驾驶EVA的既视感!? 每个geek的硬盘里,都应该有一部战争游戏 强制GPU渲染,4*MSAA,启用HW叠加层……本系列会逐一介绍开发者模式里有意思的功能。而作为使

May 27, 2019

魔法上网之那些线路的故事

前言 本文不提供任何有关魔法上网的教程以及资源,仅为科普! 正文 很多人都用过诸如S-S,S-S-R,V2-Ray等代理协议,不少人也自己搭建线路进行一些工作。而这些线路的好坏,直接影响了使用体验。 笔者也是一个重度的魔法上网用户,每天必须要做的事情就是去电报群浏览消息,上YouTube观看一些大佬

Apr 26, 2019

网络编程杂谈——HTTPS与TLS v1.3

前言 近几年,HTTPS的网站开始普及,所有大型的网站均启用了全站HTTPS,淘宝,百度,京东,网易等。 可能所有人上网的时候都不会关注网址URL前面的那把小绿锁,这就是HTTPS加密的网站,甚至更多人不知道HTTPS的存在。 HTTPS是为了让HTTP传输更加安全,在没有启用加密之前,所有的流量都

OLDER

怎样将观影体验提高100倍

NEWER

博客服务器例行升级

Recently Updated

  • 我们,回来了
  • 新 Logo 与 全站 CDN
  • 【沉痛】“杂交水稻之父”袁隆平院士逝世
  • 巨型的变革
  • Rhyland Tech 祝全体朋友新春快乐!

Trending Tags

充电 快充 HTTPS SSL 网线 升级 加速器 宽带 游戏 网络

Contents

©2025 Rhyland Tech. Some rights reserved.

Using the Halo theme Chirpy