android 常用工具命令

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介:

工具

核心功能

使用

adb

一个客户端服务器程序,使用命令行的方式与设备通信,需要设备开启usb debugging
功能包括:列设备、安装apk、拷贝文件、server启停、运行shell

adb devices
adb bugreport 
打印分析报告
adb install path_to_apk
adb push local remote
adb pull remote local
adb logcat [optons] [filter-spec]
:日志查询
adb shell

bmgr

应用的备份、恢复、擦除

备份设置:adb shell bmgr backup <pkg>
备份执行:adb shell bmgr run
执行恢复:adb shell bmgr restore <pkg>
擦除数据:adb shell bmgr wipe <package>
开关设置:adb shell bmgr enable <boolean>

am

activity管理,activityservicebroadcast的发送,杀进程,profiledump,屏幕尺寸,uri转换

adb shell am start [options] <INTENT>
adb shell startservice [options] <INTENT>
adb shell broadcast [options] <INTENT>
adb shell force-stop <PACKAGE>
adb shell kill [options] <PACKAGE>/kill-all
instrument [options] <COMPONENT>
profile start <PROCESS> <FILE>/profile stop <PROCESS>
dumpheap [options] <PROCESS> <FILE>
am display-size 1280x800/am display-density 480
to-uri <INTENT>/to-intent-uri <INTENT>

pm

package管理,列举、安装、卸载、发放回收权限、创用户

adb shell pm list packages [options] <FILTER>
list instrumentation/features/libraries/users
install [options] <PATH>/uninstall [options] <PACKAGE>
grant <PACKAGE_PERMISSION>/revoke <PACKAGE_PERMISSION>
create-user <USER_NAME>/remove-user <USER_ID>

procrank

各进程内存使情况排

adb shell procrank

dumpsys

meminfo查看dalviknative的内存占用情况

adb shell dumpsys | grep DUMP
adb shell dumpsys batteryinfo
adb shell dumpsys meminfo com.alibaba.***

showmap

查看进程各个部分占用的内存情况

adb shell showmap 8179

其他常见命令

getprop 返回Android的所有系统属性
watchprosp
动态监视这些属性的变化
getevent 
打印所有的键盘和触摸事件
printenv 
系统环境变量
dmesg (
查看 Android Linux Kernel 运行信息)

 

monitor

多个监控分析工具的集合,dumpthreadprofilingsystracetraceopengl calls

命令行执行monitor/sdktools目录执行monitor.bat

Traceview

Traceview是图形化的日志查询器,提供时间线面板方便查看线程和方法的起始时间,profiling面板查看方法内的执行信息(Traceview分析时会禁止JIT,容易导致执行时间分析的不准确,多耗费的时间可能因为JIT编译而优化掉)

trace文件可以在代码里调用api实现:
    Debug.startMethodTracing("calc");
    // ...
    Debug.stopMethodTracing();
也可以通过DDMS里的start tracking按钮实现
拷贝:adb pull /sdcard/calc.trace /tmp
分析:traceview /tmp/calc
Incl Cpu Time:
方法总耗时,含内部调用其他方法的时间
Excl Cpu Time
:方法自身耗时,不含内部调用其他方法的耗时
Calls + Recur Calls
:被调用次数 及 递归调用次数

hprof-conv

dump后的hprof文件需要转换下才能被mat打开

hprof-conv 1.hprof 2.hprof

Draw 9-patch

生成拉伸不失真图片,可以定义哪里可以拉伸,哪里是内容区域

sdktools目录运行draw9patch.bat

Hierarchy Viewer

提供层级浏览,调试优化界面,提供了宝贵的分析信息,以便了解布局里面的每一个视图控件测量、渲染和绘制要花多少时间

sdktools目录运行hierarchyviewer.bat

layoutopt 

布局分析工具

layoutopt 全路径.xml

lint

静态代码分析工具,发现潜在的Bug和性能、安全问题

lint myproject
lint --check MissingPrefix myproject
:检测一项
lint --check Accessibility --html accessibility_report.html myproject
:生成报告
lint --list
lint -Wall 
检测全部warning项目

monkey

可以产生用户点击、触摸、手势等事件的程序,可以在开发阶段进行测试
可以通过参数设置事件数、包限制、事件类型等参数,monkey会进行监控并进行必要的报告

adb shell monkey [options] <event-count>
adb shell monkey -p your.package.name -v 500
- v[number] number
:制定发送伪随机事件的次数
-p <allowed-package-name>
-c <main-category>
--throttle [milliseconds]:
每次发送事件的时间间隔

ProGuard 

一个通过删除无用代码、重命名方式压缩、优化、混淆代码的工具,release模式自动运行

创建工具后会自动生成proguard.cfg文件,可配置如何混淆代码,运行后会自动生成多个txt文件说明混淆后和混淆前的关联信息
-keep public class <MyClass>
避免清理到必要的类
反处理:retrace.bat -verbose mapping.txt obfuscated_trace.txt

Systrace

通过捕获应用进程和系统进程信息实现性能分析,会合并android内核(CPU/磁盘)数据生成报告,非常适合于分析展示慢问题。
当前只能在linux平台上使用,需要安装python并配置环境变量,需要android4.1以上版本,需要USB调试

可以通过EclipseAndroid StudioDevice Monitor及命令行执行,可以通过代码调用API执行,-o输出html报告
python systrace.py [options] [category1]  ... [categoryN]
python systrace.py --time=10 -o mynewtrace.html sched gfxview wm

Wireshark/tcpdump

抓包工具,需要root手机

下载安装tcpdump到手机里,别安装到SD
提高权限:chmod 777 tcpdump
开始抓包:tcpdump -p -vv -s 0 w [pcapfilePathtcpdump -p -vv -s 0 w [pcapfilePath]  Ctrl+C停止
导出.pcap日志文件后用wireshark分析

StrickMode

限制模型,开发人员选项里可以开启,在代码里启动后可以帮助分析不规范的代码实现

我们通常在 Activity 或者自定义的Application类中启动StrictMode,代码如下:
public void onCreate() {
     if (DEVELOPER_MODE) {
         StrictMode.setThreadPolicy(newStrictMode.ThreadPolicy.Builder()
                 .detectDiskReads()
                 .detectDiskWrites()
                 .detectNetwork()   // or .detectAll() for all detectable problems
                 .penaltyLog()
                 .build());
         StrictMode.setVmPolicy(newStrictMode.VmPolicy.Builder()
                .detectLeakedSqlLiteObjects()
                .detectLeakedClosableObjects()
                 .penaltyLog()
                 .penaltyDeath()
                 .build());
     }
     super.onCreate();
 }

RE 浏览器

root文件浏览器,修改 host 文件

 

开发人员选项

绘图、GPU、监控等

 

Emmagee

CPU、内存、流量、电量

Emmagee:性能测试小工具
开源地址:https://github.com/NetEase/Emmagee
apk
下载地址:http://emmagee.googlecode.com/files/Emmagee.apk

zipalign

apk进字节对齐 :zipalign -c -v 4application.apk
elcipse
里的ADT插件也可以导出对齐:Android Tools=>Exports Signed Application ...

使用 zipalignapk进字节对齐,不然会耗费更多内存。

 

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
2月前
|
缓存 Unix Android开发
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
Android安卓项目调试之Gradle 与 Gradle Wrapper的概念以及常用gradle命令深度详解-优雅草卓伊凡
295 8
|
9月前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
341 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
4月前
|
存储 Android开发 数据安全/隐私保护
Thanox安卓系统增加工具下载,管理、阻止、限制后台每个APP运行情况
Thanox是一款Android系统管理工具,专注于权限、后台启动及运行管理。支持应用冻结、系统优化、UI自定义和模块管理,基于Xposed框架开发,安全可靠且开源免费,兼容Android 6.0及以上版本。
419 4
|
5月前
|
Android开发
安卓硬改一键新机工具,一键修改手机型号,串号网卡Imei、sn码【仅供学习参考】
声明部分:仅供学习参考使用,基于Xposed框架实现的设备信息伪装模块的完整代码,包含多个功能模块:
|
5月前
|
编解码 自然语言处理 Java
安卓改机工具免root,一键过设备检测,串号SN码【jar即可实现】
本项目通过Hook系统API实现设备信息的拦截与修改,主要功能包括动态更改IMEI/SN等设备标识。核心技术基于Xposed框架(免Root可用VirtualXposed)
|
4月前
|
监控 Android开发 数据安全/隐私保护
批量发送短信的平台,安卓群发短信工具插件脚本,批量群发短信软件【autojs版】
这个Auto.js脚本实现了完整的批量短信发送功能,包含联系人管理、短信内容编辑、发送状态监控等功能
|
4月前
|
API 开发工具 Android开发
qq虚拟视频插件下载安装手机版, 安卓虚拟视频插件,替换摄像头工具
Xposed入口模块:拦截目标应用的相机调用‌23 Camera1 API处理:通过PreviewCallback替换视频流‌1 Camera2 API适
|
5月前
|
存储 JSON API
安卓ck提取工具,可提取手机cookie插件,AUTOJS即可实现
怎么用autojs提取手机端的CK?其实autojs是支持提取ck的但是他提取的不是浏览器的CK,二十他自身浏览器环境的c
|
5月前
|
Java Android开发
安卓手机硬改工具, 设备型号修改神器, 安卓硬改一键新机
通过Java创建可执行JAR来修改安卓设备信息。核心功能包括读取系统属性
|
9月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
397 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡

热门文章

最新文章