美文网首页gradle经常更新集合Android
[持续更新] Adb常用命令收录

[持续更新] Adb常用命令收录

作者: 逆水寒Stephen | 来源:发表于2022-01-04 11:16 被阅读0次

    adb devices 查看连接设备
    adb reboot 重启
    adb reboot recovery 重启到 rec
    adb reboot bootloader 重启到 bootloader
    adb install xxxx.apk 安装 apk
    adb uninstall xxx.apkpkgname 卸载 apk 可以使用 [-k] 参数,即 adb uninstall -k xxx.apkpkgname ,这里的 xxxx.apkpkgname 需要使用包名,可以利用 pm 命令列出 adb shell pm list packages (这个除了极特殊用途外,用处不大)
    adb shell getprop 获取系统设置
    adb sideload xxx.zip adb 刷机
    adb push xxxx /sdcard/ 推送电脑文件到手机,其中的 xxxx 是电脑上的文件路径,yyyy 是手机上的文件路径,比如我要推送 “C 盘 adb 目录下的 adb.exe” 到手机的 “/data/media/0” 目录下,我就需要命令 adb push C:\adb\adb.exe /data/media/0;
    adb pull yyyy xxxx 获取手机文件到电脑,其中 yyyy 是手机路径及文件,xxxx 是电脑路径,比如我要获取 “手机上的 /system/framework” 文件夹到 “电脑 D 盘下的 framework 文件夹”,我就需要 adb pull /system/framework D:\framework

    Android部分手机崩溃了后会自动重启应用,导致logcat的崩溃日志被刷掉,很是苦恼,拔线都来不及,这个时候可以用adb logcat >> log.txt命令在要崩溃的时候赶紧执行记录日志到文件,崩溃后及时停止记录,然后进去搜索FATAL EXCEPTION就可以愉快看报错了

    设置手机上app进入调试模式
    adb shell am set-debug-app -w com.xxx.app.xxx
    adb shell am set-debug-app -w com.xxx.apps.android.xxx
    adb shell am set-debug-app -w --persistent com.xxx.app.xxx

    adb shell am clear-debug-app 清除app调试模式
    adb shell /system/bin/logcat -b main 查看logcat
    adb shell dumpsys window displays (简单方式:adb shell wm size) 获取屏幕分辨率
    adb shell wm density 获取屏幕dpi
    adb shell am display-size 1280x800 重写模拟器/设备显示大小
    adb shell am display-density 480 重写模拟器/设备显示密度
    adb shell am start -n com.xxx.apps.xxx.overseas/ui.StartPageActivity -d paramStr //启动某个app的某个activity(可能需要配置android:exported="true",获取参数:getIntent().getDataString())
    adb shell dumpsys activity activities 查看全部任务栈
    adb shell dumpsys activity activities | grep ResumedActivity 查看当前activity
    adb shell dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p' 限制仅输出Running Activities列表
    adb shell am start com.android.settings //设置主页面

    adb shell ps | grep com.survival.last //查看线程pid
    adb shell top -H -p pid //查看线程优先级,pid用上个命令获取,返回的PR就是线程的优先级
    adb shell "am force-stop com.survival.last" 强制结束App
    adb logcat -v time | grep ActivityManager 查看activity跳转日志
    adb shell input keyboard text "abc" //模拟键盘输入
    adb shell input keyevent 3(home键) 4(back键) 187(最近任务) 19 (up键) 24 (volume+键) 25 (volume-键)
    adb shell input tap 500 500 // 模拟点击屏幕指定位置,不过在android中tap好像失效了不知道为什么
    adb shell input swipe 500 800 500 300 // 模拟滑动,从(500,800)滑动到(500,300)
    adb shell cat /proc/cpuinfo 能够看明白手机指令集,是32位还是64位
    adb shell getprop ro.product.cpu.abi 查看手机CPU的ABIs
    adb shell topadb shell top -H) 查看CPU/内存等占用率的命令
    adb shell ps -A Android系统高版本查看进程信息
    adb shell ps -A -T | grep pid (adb shell ps -T -p pid) Android系统高版本查看进程的线程信息

    adb shell dumpsys meminfo <package_name> 重点关注如下几个字段:Native/Dalvik 的 Heap 信息,具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。Total 的 PSS 信息
    这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大了。

    申请最大内存使用
    adb shell getprop dalvik.vm.heapgrowthlimit
    adb shell getprop dalvik.vm.heapsize
    adb shell getprop dalvik.vm.heapstartsize
    说明:heapsize参数表示单个进程可用的最大内存,但如果存在heapgrowthlimit参数,则以heapgrowthlimit为准.
    heapsize表示不受控情况下的极限堆,表示单个虚拟机或单个进程可用的最大内存。而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机(这样设计就会在单个程序崩溃的情况下不会导致整个系统的崩溃)。
    注意:在设置了heapgrowthlimit的情况下,单个进程可用最大内存为heapgrowthlimit值。在android开发中,如果要使用大堆,需要在manifest中指定android:largeHeap为true,这样dvm heap最大可达heapsize

    设置logcat缓存大小
    adb logcat -G 100M
    adb logcat -g

    将手机上已安装的apk拉下来
    1 .定位apk所在系统路径 :adb shell pm path com.google.android.youtube

    1. 将上一步apk查看到的路径从手机把apk pull下来: adb pull /system/app/YouTube/YouTube.apk

    adb wifi 调试方法(手机和电脑连接的是同一个 wifi)
    手机USB 连接电脑: adb tcpip 5555
    查看手机 ip 地址: adb shell ifconfig wlan0
    adb wifi 连接手机: adb connect 192.168.0.142:5555
    断开adb: adb disconnect 192.168.0.142
    缺点:手机断电重启后,就要再用USB线,开启手机ADB

    如果执行命令时遇到:more than one device/emulator 的错误
    那么就需要通过: adb devices 列出所有设备列表
    然后通过:给命令加上-s的参数:adb -s 192.168.137.95:5555 logcat 就可以了

    AndroidStduio项目构建相关命令
    keytool -list -v -keystore <keystore-file>
    ./gradlew processDebugManifest --stacktrace 可以专门处理manifest合并冲突的问题
    ./gradlew assembleDebug --stacktrace --info
    ./gradlew assembleRelease --stacktrace --info
    ./gradlew assembleDebug --profile //生成一份本地的耗时分析报告
    ./gradlew assembleDebug --scan
    ./gradlew clean
    上面是对主项目执行默认的构建,需要指定module构建,命令格式类似:./gradlew :moduleName:assembleRelease --stacktrace --info
    ./gradlew :app:dependencies --info 查看包的依赖关系(相同的库存在多个版本时, gradle 会自动使用最高版本的库 , 上图中 后面带有 (*) 的库就表示 这个库 有被覆盖过)
    ./gradlew :app:dependencies > log.txt 查看依赖库会生成大量内容,并且无法看到全部信息,为了方便查看,将输出信息写入文本文件中

    adb命令打开系统设置界面打开系统设置主界面 adb shell am start com.android.settings/com.android.settings.Settings
    安全 adb shell am start com.android.settings/com.android.settings.SecuritySettings
    手机无线信息 adb shell am start com.android.settings/com.android.settings.RadioInfo
    其他界面完整类名(命令同上)
    com.android.settings.AccessibilitySettings 辅助功能设置
    com.android.settings.ActivityPicker 选择活动
    com.android.settings.ApnSettings APN设置
    com.android.settings.ApplicationSettings 应用程序设置
    com.android.settings.BandMode 设置GSM/UMTS波段
    com.android.settings.BatteryInfo 电池信息
    com.android.settings.DateTimeSettings 日期和坝上旅游网时间设置
    com.android.settings.DateTimeSettingsSetupWizard 日期和时间设置
    com.android.settings.DevelopmentSettings 开发者设置
    com.android.settings.DeviceAdminSettings 设备管理器
    com.android.settings.DeviceInfoSettings 关于手机
    com.android.settings.Display 显示——设置显示字体大小及预览
    com.android.settings.DisplaySettings 显示设置
    com.android.settings.DockSettings 底座设置
    com.android.settings.IccLockSettings SIM卡锁定设置
    com.android.settings.InstalledAppDetails 语言和键盘设置
    com.android.settings.LanguageSettings 语言和键盘设置
    com.android.settings.LocalePicker 选择手机语言
    com.android.settings.LocalePickerInSetupWizard 选择手机语言
    com.android.settings.ManageApplications 已下载(安装)软件列表
    com.android.settings.MasterClear 恢复出厂设置
    com.android.settings.MediaFormat 格式化手机闪存
    com.android.settings.PhysicalKeyboardSettings 设置键盘
    com.android.settings.PrivacySettings 隐私设置
    com.android.settings.ProxySelector 代理设置
    com.android.settings.RadioInfo 手机信息
    com.android.settings.RunningServices 正在运行的程序(服务)
    com.android.settings.SecuritySettings 位置和安全设置
    com.android.settings.Settings 系统设置
    com.android.settings.SettingsSafetyLegalActivity 安全信息
    com.android.settings.SoundSettings 声音设置
    com.android.settings.TestingSettings 测试——显示手机信息、电池信息、使用情况统计、Wifi information、服务信息
    com.android.settings.TetherSettings 绑定与便携式热点
    com.android.settings.TextToSpeechSettings 文字转语音设置
    com.android.settings.UsageStats 使用情况统计
    com.android.settings.UserDictionarySettings 用户词典
    com.android.settings.VoiceInputOutputSettings 语音输入与输出设置
    com.android.settings.WirelessSettings 无线和网络设置

    相关文章

      网友评论

        本文标题:[持续更新] Adb常用命令收录

        本文链接:https://www.haomeiwen.com/subject/ibwgqrtx.html