当前位置:   article > 正文

adb 常用命令汇总_adb命令

adb命令

目录

adb 常用命令

1、显示已连接的设备列表

2、进入设备

3、安装 APK 文件到设备 

4、卸载指定包名的应用

 4.1 卸载系统应用

5、从设备中复制文件到本地

6、将本地文件复制到设备

7、查看设备日志信息

8、重启设备

9、截取设备屏幕截图

10、屏幕分辨率

11、屏幕密度

12、显示设备的总内存、空闲内存、已用内存等信息

13、应用的内存使用情况

14、详细的内存信息

15、查看内存信息

16、查看电池信息

17、查看CPU信息

18、单独查看属性

        18.1 查看设备型号

        18.2 查看 Android 版本

        18.2 ro.product.cpu.abilist 和 ro.product.cpu.abi 区别

19、查看安装的第三方app的包名

20、设备所有包名(含系统)

21、查看将要启动或退出app的包名

22、关闭软件(根据包名)

23、导出设备内的apk文件

24、关闭系统设置(设置App)

25、查看占用内存最高的 3 个App

26、刷新2次,返回所以程序所占内存

27、获取正在运行应用的activity

28、启动应用

28.1 根据报名+Activity

28.2 根据包名(用monkey启动应用并输出activity)

adb 不常用命令

1、adb shell am  

2、adb shell pm

3、adb forward

4、adb shell input :

        4.1  模拟点击屏幕坐标

        4.2 模拟滑动

        4.3  模拟按键

        4.4 模拟文本输入

Android Studio Unable to establish a connection to adb.

1、adb服务

2、adb端口被占(仅限Windows系统)


注意:很多命令仅支持单设备连接,如下:2、adb shell

adb 常用命令

1、显示已连接的设备列表

adb devices

scc$ adb devices
List of devices attached
X1PVWP742B    device
d13d7184    device

2、进入设备

adb shell , 如果有多台设备会报错,因为不知道进入那台设备。

scc$ adb shell
adb: more than one device/emulator
scc$ adb shell
hncnbot_health_robot:/ $ 这就进来了

3、安装 APK 文件到设备 

adb install <path_to_apk> 

scc$ adb install /Users/scc/shenhua/ximalaya_app.apk 
Performing Streamed Install
Success
scc$ 安装成功

4、卸载指定包名的应用

adb uninstall <package_name> 

scc$ adb uninstall com.ximalaya.ting.android
Success
scc$ 卸载成功

4.1 卸载系统应用

adb shell pm uninstall --user 0 包名

scc$ adb uninstall com.dangbei.tvlauncher

Failure [DELETE_FAILED_INTERNAL_ERROR](卸载失败)

scc$ adb shell pm uninstall --user 0 com.dangbei.tvlauncher

Success
​​​​​​​scc$ adb shell pm list packages

package:com.mgtv.tv

......(没有了)

5、从设备中复制文件到本地

adb push <设备路径> <本地路径>

scc$ adb pull /storage/emulated/0/DCIM/Screenshots/23.jpg /Users/scc/ThreeSDK/2.jpg
/storage/emulated/0/DCIM/Screenshots/2...ed. 34.6 MB/s (956637 bytes in 0.026s)
scc$ 复制成功

6、将本地文件复制到设备

adb pull <本地路径> <设备路径>

scc$ adb push /Users/scc/ThreeSDK/2.jpg /storage/emulated/0/DCIM/Screenshots/24.jpg
/Users/scc/ThreeSDK/2.jpg: 1 file push...d. 125.7 MB/s (956637 bytes in 0.007s
scc$ 复制成功

7、查看设备日志信息

adb logcat

  1. adb logcat -v time 打印log的详情日志
  2. adb logcat -v time > /Users/scc/ThreeSDK\log.txt 把日志输出到电脑的上查看,在窗口打印的同时,文件也会同时打印的
  3. adb logcat -c      清除之前的日志信息,一般在看日志前都会执行这个命令,目的过滤之前的日志方便看最新日志
  1. scc$ adb logcat
  2. --------- beginning of crash
  3. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-1
  4. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: Process: com.ecare.healthhut, PID: 14628
  5. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: io.reactivex.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | java.lang.UnsatisfiedLinkError: dlopen failed: library "libarcsoft_face_engine.so" not found
  6. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)
  7. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:69)
  8. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
  9. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:264)
  10. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
  11. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
  12. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
  13. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1012)
  14. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "libarcsoft_face_engine.so" not found
  15. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1077)
  16. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:998)
  17. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1661)
  18. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at com.arcsoft.face.FaceEngine.<clinit>(FaceEngine.java:876)
  19. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at com.arcsoft.face.FaceEngine.getRuntimeABI(FaceEngine.java:188)
  20. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at com.ecare.healthhut.base.RobotApplication.lambda$initFace$0(RobotApplication.java:414)
  21. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at com.ecare.healthhut.base.-$$Lambda$RobotApplication$KZ4KX66pOQkpN1C4AdF7p0_gBK4.subscribe(Unknown Source:0)
  22. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
  23. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at io.reactivex.Observable.subscribe(Observable.java:12197)
  24. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
  25. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
  26. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
  27. 01-03 16:55:58.373 14628 14655 E AndroidRuntime: ... 6 more
  28. 01-03 16:57:27.947 15156 15198 E AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-1
  29. .............

8、重启设备

adb reboot

9、截取设备屏幕截图

adb shell screencap <file>

scc$ adb shell screencap /storage/emulated/0/DCIM/Screenshots/25.png

scc$ 截取成功

注意:后缀需要 .png 才行, .jpg 是个损坏文件(失败)

10、屏幕分辨率

adb shell wm size

scc$ adb shell wm size

Physical size: 1080x2400

11、屏幕密度

adb shell wm density 

scc$ adb shell wm density

Physical density: 440

scc$ 

12、显示设备的总内存、空闲内存、已用内存等信息

adb shell cat /proc/meminfo

scc$  adb shell cat /proc/meminfo

MemTotal:       11877584 kB

MemFree:          410700 kB

MemAvailable:    4044952 kB

Buffers:            2172 kB

Cached:          3426048 kB

SwapCached:       340124 kB

Active:          5482004 kB

Inactive:        2158028 kB

Active(anon):    3706288 kB

Inactive(anon):   737084 kB

Active(file):    1775716 kB

Inactive(file):  1420944 kB

Unevictable:      173480 kB

Mlocked:          173480 kB

SwapTotal:       6291452 kB

SwapFree:        3800032 kB

Dirty:               600 kB

Writeback:             0 kB

AnonPages:       4295200 kB

Mapped:          1552836 kB

Shmem:             60056 kB

KReclaimable:     673412 kB

Slab:             662508 kB

SReclaimable:     255124 kB

SUnreclaim:       407384 kB

KernelStack:      129936 kB

PageTables:       187944 kB

NFS_Unstable:          0 kB

Bounce:                0 kB

WritebackTmp:          0 kB

CommitLimit:    12230244 kB

Committed_AS:   193739488 kB

VmallocTotal:   263061440 kB

VmallocUsed:      217820 kB

VmallocChunk:          0 kB

Percpu:            11072 kB

CmaTotal:         356352 kB

CmaFree:               0 kB

scc$ 

  1. MemTotal: 总物理内存,即系统总共的内存大小。在这个例子中是 11,877,584 kB。

  2. MemFree: 未被使用的物理内存。在这个例子中是 410,700 kB。

  3. MemAvailable: 可用物理内存,系统实际可用的内存。在这个例子中是 4,044,952 kB。

  4. Buffers: 缓冲区使用的内存。在这个例子中是 2,172 kB。

  5. Cached: 缓存的内存,包括文件系统缓存等。在这个例子中是 3,426,048 kB。

  6. SwapCached: 在交换空间中的缓存。在这个例子中是 340,124 kB。

  7. Active: 活跃的内存,正在使用或者最近被使用的内存。在这个例子中是 5,482,004 kB。

  8. Inactive: 不活跃的内存,最近没有被使用的内存。在这个例子中是 2,158,028 kB。

  9. AnonPages: 匿名页,被进程使用的非文件 backed 的页。在这个例子中是 4,295,200 kB。

  10. Mapped: 映射的内存,包括文件和设备映射的页。在这个例子中是 1,552,836 kB。

  11. Shmem: 共享内存,用于进程间通信。在这个例子中是 60,056 kB。

  12. Slab: 内核数据结构缓存的大小。在这个例子中是 662,508 kB。

  13. CommitLimit: 内核允许使用的最大内存。在这个例子中是 12,230,244 kB。

  14. Committed_AS: 当前系统为分配的页面的总和,即当前系统承诺提供的内存大小。在这个例子中是 193,739,488 kB。

  15. VmallocTotal: 虚拟内存总大小。在这个例子中是 263,061,440 kB。

  16. VmallocUsed: 已使用的虚拟内存。在这个例子中是 217,820 kB。

  17. CmaTotal: 连续内存分配(Contiguous Memory Allocator)总大小。在这个例子中是 356,352 kB。

  18. CmaFree: 空闲的连续内存分配。在这个例子中是 0 kB。

13、应用的内存使用情况

adb shell dumpsys meminfo <package_name> 其中,<package_name> 是应用程序的包名

  1. scc$ adb shell dumpsys meminfo com.charme.starnote
  2. Applications Memory Usage (in Kilobytes):
  3. Uptime: 593900112 Realtime: 766335532
  4. ** MEMINFO in pid 1050 [com.charme.starnote] **
  5. Pss Private Private SwapPss Rss Heap Heap Heap
  6. Total Dirty Clean Dirty Total Size Alloc Free
  7. ------ ------ ------ ------ ------ ------ ------ ------
  8. Native Heap 2110 2096 0 34331 3496 50988 47656 3331
  9. Dalvik Heap 2756 2728 0 3071 4580 13539 5347 8192
  10. Dalvik Other 2291 1524 0 2904 4184
  11. Stack 432 432 0 1324 444
  12. Ashmem 9 0 0 0 836
  13. Gfx dev 13764 13764 0 0 13764
  14. Other dev 21 0 20 0 440
  15. .so mmap 2527 332 216 1 37740
  16. .jar mmap 3583 0 1508 0 46120
  17. .apk mmap 2377 8 968 0 7028
  18. .ttf mmap 581 0 0 0 8928
  19. .dex mmap 16258 60 15680 0 18308
  20. .oat mmap 29 0 0 0 2296
  21. .art mmap 2232 2084 0 4374 11992
  22. Other mmap 131 8 16 0 1272
  23. GL mtrack 384 384 0 0 384
  24. Unknown 121 116 0 673 528
  25. TOTAL 96284 23536 18408 46678 162340 64527 53003 11523
  26. App Summary
  27. Pss(KB) Rss(KB)
  28. ------ ------
  29. Java Heap: 4812 16572
  30. Native Heap: 2096 3496
  31. Code: 18788 121920
  32. Stack: 432 444
  33. Graphics: 14148 14148
  34. Private Other: 1668
  35. System: 54340
  36. Unknown: 5760
  37. TOTAL PSS: 96284 TOTAL RSS: 162340 TOTAL SWAP PSS: 46678
  38. Objects
  39. Views: 483 ViewRootImpl: 1
  40. AppContexts: 11 Activities: 2
  41. Assets: 31 AssetManagers: 0
  42. Local Binders: 40 Proxy Binders: 51
  43. Parcel memory: 18 Parcel count: 50
  44. Death Recipients: 3 OpenSSL Sockets: 2
  45. WebViews: 0
  46. SQL
  47. MEMORY_USED: 202
  48. PAGECACHE_OVERFLOW: 64 MALLOC_SIZE: 46
  49. DATABASES
  50. pgsz dbsz Lookaside(b) cache Dbname
  51. 4 60 119 21/29/14 /data/user/0/com.charme.starnote/databases/bugly_db_
  52. 4 56 32 1/22/2 /data/user/0/com.charme.starnote/databases/com.google.android.datatransport.events
  53. scc$ 结束

14、详细的内存信息

adb shell dumpsys meminfo

        提供详细的内存信息,包括应用程序、系统进程和缓存的内存使用情况。输出会包括各个应用程序的内存使用统计,缓存和系统进程的内存信息等。

  1. gongtiancideMacBook-Pro:~ scc$ adb shell dumpsys meminfo
  2. Applications Memory Usage (in Kilobytes):
  3. Uptime: 591674632 Realtime: 763964690
  4. Total RSS by process:
  5. 737,104K: system (pid 2029)
  6. 653,604K: com.UCMobile (pid 19848 / activities)
  7. 618,964K: com.tencent.mm (pid 9209)
  8. 515,708K: com.android.systemui (pid 3227)
  9. 418,092K: com.miui.home (pid 3255 / activities)
  10. 346,024K: com.android.camera (pid 31626)
  11. 304,284K: com.UCMobile:privileged_process0 (pid 28869)
  12. 284,884K: com.UCMobile:gpu_process (pid 28923)
  13. 283,600K: com.UCMobile:privileged_process1 (pid 29578)
  14. 269,688K: com.UCMobile:MediaPlayerService (pid 32226)
  15. 256,704K: com.android.phone (pid 3220)
  16. 。。。。。。
  17. Total RSS by OOM adjustment:
  18. 1,083,408K: Native
  19. 140,024K: surfaceflinger (pid 1247)
  20. 84,732K: android.hardware.camera.provider@2.4-service_64 (pid 1028)
  21. 75,088K: zygote64 (pid 902)
  22. 45,664K: webview_zygote (pid 3116)
  23. 34,320K: zygote (pid 903)
  24. 。。。。。。
  25. Total RSS by category:
  26. 3,208,500K: .jar mmap
  27. 2,955,536K: .so mmap
  28. 1,979,384K: Native
  29. 1,911,004K: .art mmap
  30. 1,589,472K: Dalvik
  31. 1,292,136K: .oat mmap
  32. 1,206,096K: .dex mmap
  33. 464,020K: .apk mmap
  34. 442,932K: Dalvik Other
  35. 323,448K: EGL mtrack
  36. 269,356K: Unknown
  37. 260,440K: Other mmap
  38. 221,244K: .ttf mmap
  39. 。。。。。。
  40. Total PSS by process:
  41. 929,598K: com.UCMobile (pid 19848 / activities)
  42. 502,455K: com.tencent.mm (pid 9209)
  43. 477,049K: com.android.systemui (pid 3227)
  44. 446,290K: system (pid 2029)
  45. 428,744K: com.miui.home (pid 3255 / activities)
  46. 232,065K: com.android.camera (pid 31626)
  47. 202,087K: com.sohu.inputmethod.sogou.xiaomi (pid 8357)
  48. 。。。。。。
  49. Total PSS by OOM adjustment:
  50. 782,009K: Native
  51. 142,311K: surfaceflinger (pid 1247)
  52. 133,713K: android.hardware.camera.provider@2.4-service_64 (pid 1028)
  53. 34,375K: vendor.qti.hardware.display.composer-service (pid 1067)
  54. 25,425K: android.hardware.audio.service (pid 1019)
  55. 23,895K: zygote (pid 903)
  56. 。。。。。。
  57. Total RAM: 11,877,584K (status normal)
  58. Free RAM: 5,368,689K ( 958,081K cached pss + 4,028,040K cached kernel + 382,568K free)
  59. ION: 489,328K ( 95,960K mapped + 393,368K unmapped + 0K pools)
  60. GPU: 0K
  61. Used RAM: 8,547,100K (7,276,352K used pss + 1,270,748K kernel)
  62. Lost RAM: 1,028,410K
  63. ZRAM: 736,588K physical used for 2,491,932K in swap (6,291,452K total swap)
  64. Tuning: 256 (large 512), oom 1,451,520K, restore limit 107,520K (high-end-gfx)
  65. scc$
  1. Total RAM: 总共的物理内存。在这个例子中是 11,877,584KB(大约 11.33 GB)。

  2. Free RAM: 可用的物理内存。在这个例子中是 5,368,689KB(大约 5.12 GB)。

    • Cached PSS: 缓存的进程共享内存。
    • Cached Kernel: 缓存的内核占用的内存。
    • Free: 未被使用的空闲内存。
  3. ION: ION 内存使用情况。

    • Mapped: 已映射的 ION 内存。
    • Unmapped: 未映射的 ION 内存。
    • Pools: ION 内存池中的内存。
  4. GPU: GPU 占用的内存,这里是 0K。

  5. Used RAM: 已使用的物理内存,包括应用程序使用的 PSS(Proportional Set Size,按照进程占用物理内存的比例分配的内存)和内核占用的内存。在这个例子中是 8,547,100KB。

  6. Lost RAM: 由于各种原因丢失的内存,即未能被系统正常使用的内存。

  7. ZRAM: 压缩内存(ZRAM)的使用情况。

    • Physical used: 物理内存中 ZRAM 实际使用的部分。
    • In swap: 在交换空间中的 ZRAM 使用情况。
    • Total swap: 总的交换空间大小。
  8. Tuning: 调整参数,包括内存的分配策略、OOM(Out of Memory)的阈值等。

15、查看内存信息

adb shell free

显示内存使用情况。包括物理内存和交换空间的总量、已使用和空闲量。

  1. scc$ adb shell free
  2. total used free shared buffers
  3. Mem: 12162646016 11356925952 805720064 64028672 2347008
  4. -/+ buffers/cache: 11354578944 808067072
  5. Swap: 6442446848 3425431552 3017015296
  6. scc$
  1. Mem(内存):

    • total: 总物理内存为 12,162,646,016 字节(大约 11.32 GB)。
    • used: 已使用的物理内存为 11,356,925,952 字节(大约 10.56 GB)。
    • free: 空闲的物理内存为 805,720,064 字节(大约 0.75 GB)。
    • shared: 共享内存为 64,028,672 字节。
    • buffers: 缓冲区使用了 2,347,008 字节。
  2. -/+ buffers/cache:

    • 这个部分提供了经过缓存和未经缓存的内存使用情况。
    • buffers/cache 是内存中用于缓存的部分,当系统需要更多内存时,这部分可以被释放。
    • 113,545,789,44 字节 是经过缓存或者说除去缓存后的已使用内存。
    • 808,067,072 字节 是经过缓存或者说除去缓存后的可用内存。
  3. Swap(交换空间):

    • total: 交换空间总大小为 6,442,446,848 字节(大约 6 GB)。
    • used: 当前使用的交换空间为 3,425,431,552 字节。
    • free: 可用的交换空间为 3,017,015,296 字节。

16、查看电池信息

adb shell dumpsys battery

scc$ adb shell dumpsys battery

Current Battery Service state:

  AC powered: true

  USB powered: false

  Wireless powered: false

  Max charging current: 1350000

  Max charging voltage: 5000000

  Charge counter: 2996529

  status: 2

  health: 2

  present: true

  level: 100

  scale: 100

  voltage: 4456

  temperature: 340

  technology: Li-poly

17、查看CPU信息

adb shell cat /proc/cpuinfo

  1. scc$ adb shell cat /proc/cpuinfo
  2. processor : 0
  3. BogoMIPS : 48.00
  4. Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
  5. CPU implementer : 0x41
  6. CPU architecture: 8
  7. CPU variant : 0x2
  8. CPU part : 0xd05
  9. CPU revision : 0
  10. processor : 1
  11. BogoMIPS : 48.00
  12. Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
  13. CPU implementer : 0x41
  14. CPU architecture: 8
  15. CPU variant : 0x2
  16. CPU part : 0xd05
  17. CPU revision : 0
  18. processor : 2
  19. BogoMIPS : 48.00
  20. Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
  21. CPU implementer : 0x41
  22. CPU architecture: 8
  23. CPU variant : 0x2
  24. CPU part : 0xd05
  25. CPU revision : 0
  26. processor : 3
  27. BogoMIPS : 48.00
  28. Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
  29. CPU implementer : 0x41
  30. CPU architecture: 8
  31. CPU variant : 0x2
  32. CPU part : 0xd05
  33. CPU revision : 0
  34. Hardware : Rockchip RK3566 RK817 TABLET LP4X Board
  35. Serial : 86dfc3e7b1f23439

其中 processor 的数量代表这有几个处理器 这里是4个 也就是4核。

Hardware 表示CPU型号:

18、单独查看属性

adb shell getprop <属性> ,例如

        18.1 查看设备型号

         adb shell getprop ro.product.model

scc$ adb shell getprop ro.product.model

M2012K11AC

        18.2 查看 Android 版本

        adb shell getprop ro.build.version.release

scc$ adb shell getprop ro.build.version.release

13

属性   含义
ro.build.version.sdkSDK 版本
ro.build.version.releaseAndroid 系统版本
ro.build.version.security_patch Android 安全补丁程序级别
ro.product.model 型号
ro.product.brand 品牌
adb shell getprop ro.debuggable 是否已 root
persist.sys.isUsbOtgEnabled是否支持 OTG
dalvik.vm.heapsize 每个应用程序的内存上限
ro.sf.lcd_density屏幕密度
ro.product.cpu.abilistCPU 支持的 abi 列表

ro.product.cpu.abi

CPU 支持位数(32还是64)
ro.product.name 设备名
persist.sys.locale设备的语言

ro.serialno

序列号

        18.2 ro.product.cpu.abilist 和 ro.product.cpu.abi 区别

        ro.product.cpu.abi:

        该命令返回的是海思芯片是32位还是64位。例如,如果设备的主要 CPU 架构是 ARM,则返回的值可能是 "arm64-v8a" 或 "armeabi-v7a"。

        ro.product.cpu.abilist:

        该命令返回的是设备支持的所有 CPU 架构。设备可能支持多个 CPU 架构,这些架构在一个以逗号分隔的字符串中列出。

  1. scc$ adb shell getprop ro.product.cpu.abi
  2. arm64-v8a
  3. scc$ adb shell getprop ro.product.cpu.abilist
  4. arm64-v8a,armeabi-v7a,armeabi

19、查看安装的第三方app的包名

adb shell pm list packages -3

scc$ adb shell pm list packages -3

package:com.ecare.healthhut

package:com.tencent.qqmusiccar

package:com.ximalaya.ting.android.car

package:com.qiyi.video.speaker

package:me.chunyu.ChunyuDoctor

package:com.netease.cloudmusic

scc$ 

20、设备所有包名(含系统)

adb shell pm list packages

gongtiancideMacBook-Pro:~ scc$ adb shell pm list packages

package:com.android.cts.priv.ctsshim

package:com.android.internal.display.cutout.emulation.corner

package:com.android.internal.display.cutout.emulation.double

package:com.android.providers.telephony

package:com.android.dynsystem

package:com.android.theme.color.amethyst

package:com.android.theme.icon.pebble

package:com.android.providers.calendar

package:com.android.providers.media

package:com.android.internal.systemui.navbar.gestural_wide_back

...

package:com.android.launcher3

package:com.android.backupconfirm

package:com.android.provision

package:com.android.statementservice

package:com.ecare.healthhut

package:com.android.cndamon

package:com.android.theme.icon_pack.sam.settings

package:com.android.settings.intelligence

package:com.android.calendar

21、查看将要启动或退出app的包名

adb shell am monitor(只有在启动或退出的时候才会打印)

scc$ adb shell am monitor

Monitoring activity manager...  available commands:

(q)uit: finish monitoring

** Activity starting: com.ximalaya.ting.android.car

** Activity starting: com.ximalaya.ting.android.car

** Activity resuming: com.ximalaya.ting.android.car

** Activity starting: com.iflytek.inputmethod

** Activity starting: com.iflytek.inputmethod

** Activity resuming: com.iflytek.inputmethod

** Activity starting: com.iflytek.inputmethod

** Activity resuming: com.iflytek.inputmethod

com.ximalaya.ting.android.car 和 com.iflytek.inputmethod 就是包名,输入 q 退出。

22、关闭软件(根据包名)

adb shell am force-stop com.iflytek.inputmethod

其中 com.iflytek.inputmethod 就是要要关闭的软件包名

23、导出设备内的apk文件

  1. 使用 adb shell pm list packages -3 查找安装三方的的包名,如果如果要查所有 请看第22项;
  2. 使用“adb shell pm path”命令加上要导出的APK文件的包名。如 adb shell pm path me.chunyu.ChunyuDoctor(包名) ,将返回APK文件在设备上的路径
  3. 使用 adb pull 命令,后面跟上APK文件的路径和要保存的路径。如 adb pull /vendor/operator/app/chunyuyisheng/chunyuyisheng.apk /Users/scc/shenhua/ziyanapk

(查找三方应用)scc$ adb shell pm list packages -3 

package:com.sohu.inputmethod.sogou

package:com.dianshijia.newlive

package:com.ecare.healthhut

package:com.qiyi.video.speaker

package:com.ximalaya.ting.android

package:me.chunyu.ChunyuDoctor

package:com.ecare.healthhutorion

(输出路径)scc$ adb shell pm path me.chunyu.ChunyuDoctor

package:/vendor/operator/app/chunyuyisheng/chunyuyisheng.apk

(导出)scc$ adb pull /vendor/operator/app/chunyuyisheng/chunyuyisheng.apk /Users/scc/shenhua/ziyanapk

/vendor/operator/app/chunyuyisheng/chu.... 14.3 MB/s (48741246 bytes in 3.258s)

scc$ 

24、关闭系统设置(设置App)

        adb shell am force-stop com.android.settings

        adb shell pm clear com.android.settings

25、查看占用内存最高的 3 个App

adb shell top -m 3

  1. Tasks: 910 total, 2 running, 908 sleeping, 0 stopped, 0 zombie
  2. Mem: 11599M total, 10587M used, 1011M free, 2M buffers
  3. Swap: 6143M total, 3474M used, 2669M free, 3445M cached
  4. 800%cpu 108%user 1%nice 48%sys 635%idle 0%iow 7%irq 2%sirq 0%host
  5. PID USER PR NI VIRT RES SHR S[%CPU] %MEM TIME+ ARGS
  6. 2969 u0_a149 20 0 6.4G 79M 52M R 100 0.6 1457:55.2 com.miui.miwall+
  7. 28985 u0_a235 20 0 64G 247M 247M S 12.3 2.1 5:13.35 com.dianping.v1
  8. 2029 system 18 -2 12G 337M 337M S 11.3 2.9 1086:51.7 system_server

26、刷新2次,返回所以程序所占内存

adb shell top -n 2

  1. Tasks: 914 total, 3 running, 911 sleeping, 0 stopped, 0 zombie
  2. Mem: 11599M total, 10603M used, 996M free, 2M buffers
  3. Tasks: 914 total, 2 running, 912 sleeping, 0 stopped, 0 zombie
  4. Mem: 11599M total, 10618M used, 981M free, 2M buffers
  5. Swap: 6143M total, 3415M used, 2728M free, 3465M cached
  6. 800%cpu 110%user 0%nice 36%sys 645%idle 0%iow 7%irq 2%sirq 0%host
  7. PID USER PR NI VIRT RES SHR S[%CPU] %MEM TIME+ ARGS
  8. 2969 u0_a149 20 0 6.4G 79M 52M R 99.6 0.6 1459:44.8 com.miui.miwall+
  9. 28985 u0_a235 20 0 64G 248M 248M S 11.6 2.1 5:33.96 com.dianping.v1
  10. 1247 system -2 -8 2.8G 35M 23M S 5.6 0.3 716:23.16 surfaceflinger
  11. 2029 system 18 -2 12G 337M 337M S 4.0 2.9 1086:58.9 system_server
  12. 32069 u0_a241 20 0 83G 236M 236M S 3.3 2.0 3:47.79 com.UCMobile
  13. 22937 root 20 0 0 0 0 I 2.6 0.0 0:02.89 [kworker/u16:16+
  14. 901 root 20 0 2.5G 7.3M 4.4M S 2.0 0.0 26:53.27 netd
  15. 24786 shell 20 0 2.2G 6.1M 5.0M S 1.6 0.0 0:03.47 adbd --root_sec+
  16. 14353 root 20 0 0 0 0 I 1.6 0.0 0:25.75 [kworker/u16:13+
  17. 28037 root 20 0 0 0 0 I 1.3 0.0 0:07.64 [kworker/u16:18+
  18. 4915 u0_a137 20 0 6.8G 45M 45M S 1.3 0.3 192:26.88 com.miui.voicet+
  19. 1067 system -3 -8 2.4G 492K 492K S 1.3 0.0 104:22.21 vendor.qti.hard+
  20. 1052 system 20 0 2.6G 4.1M 3.0M S 1.3 0.0 87:14.21 android.hardwar+
  21. 25877 shell 20 0 2.1G 5.5M 3.7M R 1.0 0.0 0:00.06 top -n 2
  22. 31906 root 20 0 0 0 0 I 1.0 0.0 0:08.80 [kworker/u16:4-+
  23. 409 root RT 0 0 0 0 D 1.0 0.0 84:15.57 [crtc_commit:12+
  24. 288 root -3 0 0 0 0 S 1.0 0.0 48:42.85 [kgsl_worker_th+
  25. 25179 root 0 -20 0 0 0 I 0.6 0.0 0:00.74 [kworker/u17:2-+
  26. 11473 root 0 -20 0 0 0 I 0.6 0.0 0:01.95 [kworker/u17:7-+
  27. scc$

27、获取正在运行应用的activity

adb shell dumpsys package 包名

28、启动应用

28.1 根据报名+Activity

adb shell am start 包名/绝对activity路径

  1. scc$ adb shell am start com.tumuyan.fixedplay/com.tumuyan.fixedplay.MainActivity
  2. Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.tumuyan.fixedplay/.MainActivity }

28.2 根据包名(用monkey启动应用并输出activity)

 adb shell monkey -p 包名 -v -v -v 1 | findstr "cmp="

  1. scc$ adb shell monkey -p com.tumuyan.fixedplay -v -v -v 1 | findstr "cmp="
  2. -bash: findstr: command not found
  3. ^[[Aargs: [-p, com.tumuyan.fixedplay, -v, -v, -v, 1]
  4.  arg: "-p"
  5.  arg: "com.tumuyan.fixedplay"
  6.  arg: "-v"
  7.  arg: "-v"
  8.  arg: "-v"
  9.  arg: "1"
  10. data="com.tumuyan.fixedplay"
  11. scc$ 

adb 不常用命令

1、adb shell am <command> 

        执行 Activity Manager (AM) 命令,比如启动 Activity、广播等。

2、adb shell pm <command>

        执行 Package Manager (PM) 命令,如安装、卸载、禁用应用等。

3、adb forward <local> <remote>

        将设备端口与本地端口进行转发,用于调试和测试。

4、adb shell input <command>:

        模拟用户输入,比如触摸、按键操作等。

        4.1  模拟点击屏幕坐标

        adb shell input tap x y

        其中,xy 是屏幕上的坐标值。

        4.2 模拟滑动

        adb shell input swipe x1 y1 x2 y2 [duration(ms)]

        其中 x1y1 是起始点坐标,x2y2 是终止点坐标,可选的 duration 参数表示滑动的时间(毫秒)。

        4.3  模拟按键

        adb shell input keyevent <key_code>

        其中 key_code 是按键的代码,比如 KEYCODE_BACK 表示 返回键。

        4.4 模拟文本输入

        adb shell input text "android"

        模拟文本输入,其中 android 是你想要输入的文本。

Android Studio Unable to establish a connection to adb.

1、adb服务

        杀死adb服务:adb kill-server
        重启adb服务:adb start-server

2、adb端口被占(仅限Windows系统)

        netstat -aon|findstr "5037"

        netstat -a -n -o |findstr "5037"

        这两个命令都可以,且是Windows命令,它的作用是查找使用5037端口的进程ID。这个命令不适用于Linux、Mac或Unix系统,这就是为什么你看到“command not found”的错误。

        5037 这是adb要的端口,有时候会被其他进程(程序)占用了(一般是会连接手机的软件),所以要查询是谁占用了,然后就可以Kill(停止)它;

        根据上图然后输入taskkill /pid 12296/f (12296就是占用此端口的进程id),需要注意的是  有时候会查询到很多的进程(我一般选第一个,不行的话全部试一次),必须提示成功关闭才可行

        如果上面方法不行关闭电脑防火墙重启Android Studio试试。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/461386
推荐阅读
相关标签
  

闽ICP备14008679号