adb 實用命令匯總

版權歸作者所有,如有轉發,請注明文章出處:https://cyrus-studio.github.io/blog/

基礎adb命令

# 重啟adb 
adb kill-server# 查看已連接的設備
adb devices# 進入命令行
adb shell# 使用 -s 參數來指定設備
adb -s <設備序列號> shell# 顯示日志
adb logcat

獲取 API Level

進入 adb shell ,執行下面命令獲取當前 Android 系統的 API Level(即 SDK 版本):

getprop ro.build.version.sdk

以下是 Android 版本與 API Level 的對應表(截至 Android 15):

Android 版本API Level代號發布時間
Android 1535Vanilla Ice Cream2024年9月
Android 1434Upside Down Cake2023年10月
Android 1333Tiramisu2022年8月
Android 12L322022年3月
Android 1231Snow Cone2021年10月
Android 1130Red Velvet Cake2020年9月
Android 1029Q2019年9月
Android 928Pie2018年8月
Android 8.127Oreo2017年12月
Android 8.026Oreo2017年8月
Android 7.125Nougat2016年10月
Android 7.024Nougat2016年8月
Android 6.023Marshmallow2015年10月
Android 5.122Lollipop2015年3月
Android 5.021Lollipop2014年11月

獲取 apk 安裝路徑

獲取指定包名的 APK 路徑

adb shell pm path com.shizhuang.duapppackage:/data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ==/base.apk

將 APK 文件拉取到本地

adb pull /data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ==/base.apk

獲取 Activity 信息

進入 adb shell

# 獲取設備上當前運行的 Activity
dumpsys activity activities | grep "mResumedActivity"# 獲取活動棧中的所有 Activity,并從中提取出最近的 5 個 Activity
dumpsys activity activities | grep "Hist #" | head -n 5

獲取進程信息

# 顯示當前系統中正在運行的進程信息、CPU、內存使用率等
top# 列出當前所有進程
ps -A# 列出名稱包含 fs 的進程
ps -A | grep fs# 獲取 1234 端口進程的 pid
lsof | grep 1234# 根據包名獲取 pid
pidof com.shizhuang.duapp# 查看進程狀態(如果 TracerPid>0 表示被調試狀態,TracerPid 就是跟蹤調試的 進程id)
cat /proc/pid/status

進程管理

# 停止指定進程 
kill pid# 強制停止指定進程
kill -9 pid# 暫停進程
kill -19 pid# 繼續進程
kill -18 pid

文件管理

# 拉取文件/目錄到本地
adb pull /data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ== D:\temp# 使用cat命令查看文件的內容
cat filename.txt# 當目錄不存在自動創建目錄
mkdir -p /sdcard/dump_dex# 復制文件(目錄必須存在)
cp /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex# 復制文件并自動創建目錄
mkdir -p /sdcard/dump_dex && cp /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex/# 移動文件
mv /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex

查找文件/目錄

查找 /data 路徑下所有包含 com.cyrus.example 的文件或目錄

 find /data -iname '*com.cyrus.example*'

查看文件詳細信息

通過 adb shell 進入命令行通過 ls -alh 查看當前路徑下所有文件。

wayne:/sdcard # ls -alh
total 32M
drwxrwx--x 15 root sdcard_rw 3.4K 2024-09-23 17:52 .
drwx--x--x  3 root sdcard_rw 3.4K 2024-09-16 18:43 ..
-rw-rw----  1 root sdcard_rw   88 2024-09-18 12:03 .thumbcache_idx_001
drwxrwx--x  2 root sdcard_rw 3.4K 2024-09-16 18:43 Alarms
drwxrwx--x  5 root sdcard_rw 3.4K 2024-09-18 00:25 Android

通過 stat 命令查看更加詳細的文件信息,包括訪問時間、修改時間、文件類型和 inode 號等。

wayne:/sdcard # stat /sdcard/AndroidFile: /sdcard/AndroidSize: 3488     Blocks: 7       IO Blocks: 512 directory
Device: 1ch/28d  Inode: 2999     Links: 5
Access: (0771/drwxrwx--x)       Uid: (    0/    root)   Gid: ( 1015/sdcard_rw)
Access: 2024-09-16 18:43:38.453334673 +0800
Modify: 2024-09-18 00:25:03.481711645 +0800
Change: 2024-09-18 00:25:03.481711645 +0800

通過 file 命令查看文件類型

wayne:/sdcard # file Magisk-v27.0.apk
Magisk-v27.0.apk: Zip archive data

head 用于查看文本文件的前幾行內容,默認是前 10 行。

wayne:/sdcard # head /proc/cpuinfo
Processor       : AArch64 Processor rev 4 (aarch64)
processor       : 0
BogoMIPS        : 38.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0xa
CPU part        : 0x801
CPU revision    : 4

-n <行數>:指定要顯示的行數。

wayne:/sdcard # head -n 5 /system/build.prop# begin common build properties
# autogenerated by build/make/tools/buildinfo_common.sh
ro.system.build.date=Mon Sep 16 18:43:25 CST 2024
ro.system.build.date.utc=1726483405

編輯文件

編輯文件

vim a.log

如果文件不存在,vim 會創建一個新的。

打開后,你默認處于 “普通模式” ,此時按:

i

此時屏幕左下角會顯示 – INSERT --,表示你現在可以開始輸入內容。

按下 Esc 鍵即可退出插入模式,回到普通模式。

在普通模式下,輸入以下命令退出 vim

:wq   ?   # 保存并退出
:q!   ?   # 不保存直接退出

其他常用命令:

操作命令(普通模式)
插入(光標前)i
插入(新行)o
刪除整行dd
撤銷u
保存但不退出:w + Enter
不保存強制退出:q! + Enter
移動光標上下左右使用方向鍵或 h j k l

截圖

# 截圖
adb shell screencap /sdcard/screenshot.png
# 將截圖從設備復制到電腦
adb pull /sdcard/screenshot.png
# 刪除設備中的截圖文件
adb shell rm /sdcard/screenshot.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/80541.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/80541.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/80541.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#管道通訊及傳輸信息丟失的原因

以下是C#管道通訊客戶端/服務端共用類 namespace PipeCommunication { /// <summary> /// 管道信息回調通知 /// </summary> /// <param name"msg"></param> public delegate void PipeMessageEventHandler(string msg…

MixTeX - 支持CPU推理的多模態LaTeX OCR

文章目錄 一、項目概覽相關資源核心特性技術特點 二、安裝三、使用說明環境要求 四、版本更新五、當前限制 一、項目概覽 MixTeX是一款創新的多模態LaTeX識別小程序&#xff0c;支持本地離線環境下的高效CPU推理。 無論是LaTeX公式、表格還是混合文本&#xff0c;MixTeX都能輕…

簡單 Linux 字符設備驅動程序

注&#xff1a;本文為 “Linux 字符設備驅動” 相關文章合輯。 英文引文&#xff0c;機翻未校。 中文引文&#xff0c;略作重排。 未整理去重&#xff0c;如有內容異常&#xff0c;請看原文。 Simple Linux character device driver 簡單 Linux 字符設備驅動程序 Oleg Kutko…

NX949NX952美光科技閃存NX961NX964

NX949NX952美光科技閃存NX961NX964 在半導體存儲領域&#xff0c;美光科技始終扮演著技術引領者的角色。其NX系列閃存產品線憑借卓越的性能與創新設計&#xff0c;成為數據中心、人工智能、高端消費電子等場景的核心組件。本文將圍繞NX949、NX952、NX961及NX964四款代表性產品…

協議路由與路由協議

協議路由”和“路由協議”聽起來相似&#xff0c;但其實是兩個完全不同的網絡概念。下面我來分別解釋&#xff1a; 一、協議路由&#xff08;Policy-Based Routing&#xff0c;PBR&#xff09; ? 定義&#xff1a; 協議路由是指 根據預設策略&#xff08;策略路由&#xff0…

Linux510 ssh服務 ssh連接

arning: Permanently added ‘11.1.1.100’ (ECDSA) to the list of known hosts. rooot11.1.1.100’s password: Permission denied, please try again. rooot11.1.1.100’s password: Permission denied, please try again 還沒生效 登不上了 失效了 sshcaozx26成功登錄 …

金融學知識筆記

金融學知識筆記 一、引言 金融學它結合了數學、概率論、統計學、經濟學和計算機科學等多學科的知識&#xff0c;用于解決金融領域中的各種問題&#xff0c;如金融衍生品定價、投資組合優化、風險管理和固定收益證券分析等。通過對金融學的學習&#xff0c;我們可以更好地理解…

AB測試面試題

AB測試面試題 常考AB測試問答題(1)AB測試的優缺點是什么?(2)AB測試的一般流程/介紹一下日常工作中你是如何做A/B實驗的?(3)第一類錯誤 vs 第二類錯誤 vs 你怎么理解AB測試中的第一、二類錯誤?(4)統計顯著=實際顯著?(5)AB測試效果統計上不顯著?(6)實驗組優于對…

USR-M100采集數據并提交MQTT服務器

本文為記錄備忘&#xff0c;不做過多解釋。 模塊自身帶有2路數字量輸入&#xff0c;2路模擬量輸入&#xff0c;2路485接口 數字量接報警輸入&#xff0c;模擬量接壓力傳感器&#xff0c;液位傳感器&#xff0c;485接口分別接流量計&#xff0c;溫濕度傳感器。 正確接線&…

Octave 繪圖快速入門指南

目錄 1. 基本的 2D 繪圖 2. 自定義圖形樣式 3. 繪制散點圖 4. 繪制柱狀圖 5. 繪制直方圖 6. 3D 繪圖 6.6.1 3D 曲面圖 6.6.2 3D 散點圖 7. 繪制極坐標 8. 多子圖繪制 總結 Octave 是一個類似于 MATLAB 的開源數學軟件&#xff0c;廣泛用于數值計算和數據分析。它提供…

RabbitMQ--基礎篇

RabbitMQ 簡介&#xff1a;RabbitMQ 是一種開源的消息隊列中間件&#xff0c;你可以把它想象成一個高效的“郵局”。它專門負責在不同應用程序之間傳遞消息&#xff0c;讓系統各部分能松耦合地協作 優勢&#xff1a; 異步處理&#xff1a;比如用戶注冊后&#xff0c;主程序將發…

【MySQL】事務(重點)

目錄 一、什么是事務&#xff1a; 二、事務的前置知識了解 引擎是否支持事務 事務的提交方式 事務操作的前置準備&#xff1a; 三、事務回滾&#xff1a; 四、事務崩潰&#xff1a; 原子性&#xff1a; 持久性&#xff1a; 五、自動提交和手動提交&#xff1a; 六、…

C++STL——stack,queue

stack與queue 前言容器適配器deque 前言 本篇主要講解stack與queue的底層&#xff0c;但并不會進行實現&#xff0c;stack的接口 queue的接口 &#xff0c;關于stack與queue的接口在這里不做講解&#xff0c;因為通過前面的對STL的學習&#xff0c;這些接口都是大同小異的。 …

STM32智能手表:基于FreeRTOS

引言 隨著物聯網和可穿戴設備的快速發展&#xff0c;智能手表作為典型代表&#xff0c;集成了傳感器數據采集、實時顯示、無線通信等多項功能。本文將深入剖析一個基于STM32和FreeRTOS的智能手表項目&#xff0c;從硬件架構到軟件設計&#xff0c;逐步講解如何構建一個完整的嵌…

leetcode504.七進制數

標簽&#xff1a;進制轉換 機試真題 給定一個整數 num&#xff0c;將其轉化為 7 進制&#xff0c;并以字符串形式輸出。 示例 1: 輸入: num 100 輸出: "202" 示例 2: 輸入: num -7 輸出: "-10" 思路&#xff1a;求n進制就是循環取余數&#xff0c;…

中國古代史2

夏朝&#xff08;公元前2070-公元前1600年&#xff09; 1.禹建立了我國歷史上第一個奴隸制國家–夏朝&#xff0c;定都陽城。禹傳啟&#xff0c;世襲制代替禪讓制。 2.夏代都城&#xff1a;二里頭遺址位于今河南洛陽偃師二里頭村。發現了大型綠松石龍形器&#xff0c;被命名為…

死鎖的形成

死鎖的形成 背景學習資源死鎖的本質 背景 面試可能會被問到. 學習資源 一個案例: https://www.bilibili.com/video/BV1pz421Y7kM 死鎖的本質 互相持有對方的資源. 存在資源競爭都沒有釋放. 可能出現死鎖. insert into demo_user (no, name) values (6, ‘test1’) on dupl…

MapReduce架構-打包運行

&#xff08;一&#xff09;maven打包 MapReduce是一個分布式運算程序的編程框架&#xff0c;是用戶開發“基于Hadoop的數據分析應用”的核心框架。 MapReduce核心功能是將用戶編寫的業務邏輯代碼和自帶默認組件整合成一個完整的分布式運算程序&#xff08;例如&#xff1a;jar…

C++發起Https連接請求

需要下載安裝openssl //stdafx.h #pragma once #include<iostream> #include <openssl/ssl.h> #include <openssl/err.h> #include <iostream> #include <string>#pragma comment(lib, "libssl.lib") #pragma comment(lib, "lib…

ADI ADRV902x的射頻模擬信號輸入輸出端口的巴倫匹配

根據規格書可知ADRV902x系列的&#xff1a; 【1】輸入阻抗是100Ω差分&#xff0c;包括RX端口和ORX端口。 【2】輸出阻抗是50Ω差分&#xff0c;包括TX端口。 而射頻系統通常采用50Ω的單端走線&#xff0c;所以需要通過正確規格的巴倫完成差分轉單端/單端轉差分的處理。 巴…