6.1 Process: list process after phone started
6.2 Memory info: list memory information after phone started
6.3 Init log: list phone init log
6.4 Bugreport: from adb bugreport
=========================================================================================================================================================================================================================================================================
android.bat –h 或 android.bat –help
(1) android.bat create avd -t 1 -c 256M -p
E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images -n avd16 -f -s HVGA
(2) android.bat create avd -t 2 -c 256M -p
E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images -n avd2 -f -s HVGA
以上,用不同的设置创建avd.
(3) 直接用”android.bat”命令可以启动Android SDK图开界面(如下图),用它也可以创建avd;
(4) 在eclipse中,点击工具栏中的“open the avd and SDK manager”图标来打开上图。
1.3 Lists existing targets or virtual devices
E:/android_sdk/android-sdk-windows-1.6_r1/tools>android.bat list
Available Android targets:
id: 1
Name: Android 1.5
Type: Platform
API level: 3
Revision: 1
Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
id: 2
Name: Android 1.6
Type: Platform
API level: 4
Revision: 1
Skins: HVGA (default), QVGA, WVGA800, WVGA854
id: 3
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 3
Description: Android + Google APIs
Based on Android 1.5 (API level 3)
Libraries:
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P
id: 4
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 1
Description: Android + Google APIs
Based on Android 1.6 (API level 4)
Libraries:
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: WVGA854, HVGA (default), WVGA800, QVGA
Available Android Virtual Devices:
Name: avd16
Path: C:/Documents and Settings/lizhongyi/.android/avd/avd16.avd
Target: Android 1.6 (API level 4)
Skin: HVGA
Name: avd2
Path: C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd
Target: Android 1.6 (API level 4)
Skin: QVGA
1.4 Lists existing Android Virtual Devices
E:/android_sdk/android-sdk-windows-1.6_r1/tools>android list avd
Available Android Virtual Devices:
Path: C:/Documents and Settings/lizhongyi/.android/avd/avd16.avd
Target: Android 1.6 (API level 4)
Path: C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd
Target: Android 1.6 (API level 4)
E:/android_sdk/android-sdk-windows-1.6_r1/tools>android list target
Available Android targets:
id: 1
Name: Android 1.5
Type: Platform
API level: 3
Revision: 1
Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
id: 2
Name: Android 1.6
Type: Platform
API level: 4
Revision: 1
Skins: HVGA (default), QVGA, WVGA800, WVGA854
id: 3
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 3
Description: Android + Google APIs
Based on Android 1.5 (API level 3)
Libraries:
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P
id: 4
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 1
Description: Android + Google APIs
Based on Android 1.6 (API level 4)
Libraries:
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: WVGA854, HVGA (default), WVGA800, QVGA
===================================================================================
(1) 最简单的方法(用avd):
emulator -avd avd2
(2) 按尺寸启动模拟器
emulator.exe -avd avd2 -scale 0.7
(3) 启动userdata.img
emulator -data userdata.img
(4) 启动system.img
emulator -data system.img
(5) 使用-verbose选项
E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator -verbose -avd avd2
emulator: found SDK root at E:/android_sdk/android-sdk-windows-1.6_r1
emulator: root virtual device file at C:/Documents and Settings/lizhongyi/.android/avd/avd2.ini
emulator: virtual device content at C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd
emulator: virtual device config file: C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/config.ini
emulator: locking user data image at C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/userdata-qemu.img
emulator: locking cache image at C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/cache.img
emulator: ignoring non-existing SD Card at C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/sdcard.img: No such file or directory
emulator: found skin ‘QVGA’ in directory: E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/skins
emulator: autoconfig: -skin QVGA
emulator: autoconfig: -skindir E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/skins
emulator: keyset loaded from: C:/Documents and Settings/lizhongyi/.android/default.keyset
emulator: trying to load skin file ‘E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/skins/QVGA/layout’
emulator: skin network speed: ‘full’
emulator: skin network delay: ‘none’
emulator: registered ‘boot-properties’ qemud service
emulator: registered ‘boot-properties’ qemud service
emulator: Adding boot property: ‘qemu.sf.lcd_density’ = ‘120’
emulator: argv[00] = “emulator”
emulator: argv[01] = “-kernel”
emulator: argv[02] = “E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images//kernel-qemu”
emulator: argv[03] = “-initrd”
emulator: argv[04] = “E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images//ramdisk.img”
emulator: argv[05] = “-nand”
emulator: argv[06] = “system,size=0x4200000,initfile=E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images//system.img”
emulator: argv[07] = “-nand”
emulator: argv[08] = “userdata,size=0x4200000,file=C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/userdata-qemu.img”
emulator: argv[09] = “-nand”
emulator: argv[10] = “cache,size=0x4200000,file=C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/cache.img”
emulator: argv[11] = “-serial”
emulator: argv[12] = “android-kmsg”
emulator: argv[13] = “-serial”
emulator: argv[14] = “android-qemud”
emulator: argv[15] = “-append”
emulator: argv[16] = “qemu=1 console=ttyS0 android.checkjni=1 android.qemud=ttyS1 android.ndns=1”
emulator: argv[17] = “-m”
emulator: argv[18] = “96”
emulator: mapping ‘system’ NAND image to C:/DOCUME1/LIZHON1/LOCALS~1/Temp//AndroidEmulator/TMP834.tmp
emulator: using ‘winaudio’ audio input backend
emulator: using ‘winaudio’ audio output backend
emulator: control console listening on port 5556, ADB on port 5557
emulator: sent ‘0012host:emulator:5557’ to ADB server
emulator: ping program: E:/android_sdk/android-sdk-windows-1.6_r1/tools/ddms.bat
emulator: ping command: C:/WINDOWS/system32/cmd.exe /C “E:/android_sdk/android-sdk-windows-1.6_r1/tools/ddms.bat” ping emulator 1.11
(6) 使用- logcat 选项
emulator -logcat main -avd avd2
(7) 使用-trace选项
E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator -trace main(或events,或radio) -avd avd2
– When done tracing, exit the emulator. –
emulator: emulator window was out of view and was recentred
或者:
E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator -trace radio -trace main -trace radio -avd avd2
(7) 使用- kernel和-ramdisk选项
E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator -kernel …/platforms/android-1.6/images/kernel-qemu -ramdisk …/platforms/android-1
.6/images/ramdisk.img -debug-kernel -verbose -avd avd2
(7) 使用- netfast选项
E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator -netfast -avd avd2
每一个运行中的模拟器实例都包括一个控制台,你可以利用控制台动态的查询和控制模拟设备的环境 。例如,你可以利用控制台动态的管理端口映射和网络特性,还可以模拟电话时间。要想进入控制台输入 命令,你需要使用telnet连接到控制台的端口号。
可以使用下面的命令随时随地连接到任何一个运行中的模拟器实例:
telnet localhost 端口号
假设第一个模拟器实例的控制台使用5554端口,下一个实例使用的端口号会加2,比如5556、5558…… 等。你可以在启动模拟器是使用-verbose选项来检测该模拟器实例使用的端口号,在调试 输出的找到以”emulator console running on port number”这一行。 另外, 你可 以在命令行中使用adb devices来查看模拟器实例和他们的端口列表。最多可以有16个模拟 器实例同时运行控制台。
(1) 进入控制台
先在一个cmd窗口中启动一个模拟器, 再打开一个cmd窗口,运行telnet命令,如下:
E:/android_sdk/android-sdk-windows-1.6_r1/tools> telnet localhost 5556
( 因为在我的PC上,启动了两个模拟器, 一个用的是5554端口,另一个用的是5556端口.这里,控制的是使用5556端口的模拟器)
进入后,如下图:
(2) gsm测试
输入
gsm voice on
ok
则可以在模拟器上看到3G图标,并且网络图标处于有信号状态。
而执行
gsm voice off
ok
后,3G图标消失,并且网络图标处于关闭(X)状态。
gsm call 13522543026
ok
后,模拟器有如下反应:
(3) sms测试
sms send 13522543026 hello
ok
则, 在模拟器的messaging中,就会看到有一条短信了.
如图:
===============================================================================
E:/android_sdk/android-sdk-windows-1.6_r1/tools>ddms
02:30 I/ddms: Created: [Debugger 8600–>568 inactive]
02:30 I/ddms: Created: [Debugger 8601–>617 inactive]
02:30 I/ddms: Created: [Debugger 8602–>619 inactive]
02:30 I/ddms: Created: [Debugger 8603–>657 inactive]
02:30 I/ddms: Created: [Debugger 8604–>670 inactive]
02:30 I/ddms: Created: [Debugger 8605–>681 inactive]
这和eclipse中的ddms是一样的.
4 adb
======================================================================
直接运行adb会显示出adb的help信息.如下:
E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb -help
Android Debug Bridge version 1.0.22
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s - directs command to the USB device or emulator with
the given serial number
-p - simple product name like ‘sooner’, or
a relative/absolute path to a product
out directory like ‘out/target/product/sooner’.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
device commands:
adb push - copy file/dir to device
adb pull - copy file/dir from device
adb sync [ ] - copy host->device only if changed
(see ‘adb help all’)
adb shell - run remote shell interactively
adb shell - run remote shell command
adb emu - run emulator console command
adb logcat [ ] - View device log
adb forward - forward socket connections
forward specs are one of:
tcp:
localabstract:
localreserved:
localfilesystem:
dev:
jdwp: (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] - push this package file to the device and install it
(‘-l’ means forward-lock the app)
(‘-r’ means reinstall the app, keeping its data)
adb uninstall [-k] - remove this app package from the device
(‘-k’ means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.
adb help - show this help message
adb version - show version num
DATAOPTS:
(no option) - don’t touch the data partition
-w - wipe the data partition
-d - flash the data partition
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints:
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
adb root - restarts adb with root permissions
networking:
adb ppp [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ ]
can be interpreted in several ways:
- If is not specified, both /system and /data partitions will be updated.
- If it is “system” or “data”, only the corresponding partition
is updated.
(1) start adb server
方法1: E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb kill-server
E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb start-server
* daemon not running. starting it now *
* daemon started successfully *
E:/android_sdk/android-sdk-windows-1.6_r1/tools>
方法2: E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb kill-server
E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb fork-server server
OK
注意: 方法1是直接用adb的scripting “adb start-server” 来启动的, 启动成功后,直接返回到cmd命令窗口;
方法2 是用直接启动adb server进程的方式” adb fork-server server”来启动的,启动成功后, 显示”OK”, 并且不返回到cmd命令窗口.
分析: 这是因为adb.exe是一个命令(可执行程序), 它启动后,会调用到” adb fork-server server”(这个server正是adb server), 然后, adb.exe就退出了,这时,只剩下adb server 这个进程了,这个进程的名字也是adb.exe.而方法2是直接启动adb server,所以,不能退出,如果退出,就相当于adb server退出了.
adb server启动后,会在任务管理器中进程中可以看到adb.exe.
如果用户将adb.exe 强行结束了,那么, 对于方法2,就会回到cmd窗口.
另外,如果eclipse中启动了模拟器,那么, 强行结束adb server后, 会再启动一个.
(2) adb get-state and get-serialno
E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb get-state
device
E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb get-serialno
emulator-5554
如果同时启动了两个模拟器,则这两个脚本的执行结果均是:
unknown
(3) adb root
E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb root
adbd is already running as root
adb reboot recovery
(4) adb reboot [android-sdk-windows-1.6_r1支持]
adb reboot bootloader(或 recovery)
说明:reboots the device, optionally into the bootloader or recovery program,可见,只针对真机,
所以,当运行此脚本时,模拟器就不能运行了。
另外,此脚本是从android-sdk-windows-1.6_r1开始支持的。
(1) list all connected devices
E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb devices
List of devices attached
emulator-5554 device
emulator-5556 device
(2) adb shell
开机:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
id-sdk-windows-1.6_r1/tools>adb root
adbd is already running as root
adb reboot recovery
(4) adb reboot [android-sdk-windows-1.6_r1支持]
adb reboot bootloader(或 recovery)
说明:reboots the device, optionally into the bootloader or recovery program,可见,只针对真机,
所以,当运行此脚本时,模拟器就不能运行了。
另外,此脚本是从android-sdk-windows-1.6_r1开始支持的。
(1) list all connected devices
E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb devices
List of devices attached
emulator-5554 device
emulator-5556 device
(2) adb shell
开机:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-VOIDCSli-1715428756972)]
[外链图片转存中…(img-8bLoPgDo-1715428756973)]
[外链图片转存中…(img-of2V9nJz-1715428756975)]
[外链图片转存中…(img-8VtZE5bM-1715428756976)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!