android的adb介绍(2)

(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:

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.5   Lists existing targets


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

12    emulator.exe

===================================================================================

2.1   启动模拟器


(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

2.2   使用模拟器控制台


每一个运行中的模拟器实例都包括一个控制台,你可以利用控制台动态的查询和控制模拟设备的环境 。例如,你可以利用控制台动态的管理端口映射和网络特性,还可以模拟电话时间。要想进入控制台输入 命令,你需要使用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中,就会看到有一条短信了.

如图:

13    ddms.bat

===============================================================================

3.1   直接启动ddms


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

======================================================================

1.14.1        Adb help:


直接运行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.

14.2        scripting:


(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.12.3        device commands:


(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

开机:

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb shell

ls

ls

sqlite_stmt_journals

cache

sdcard

etc

system

sys

sbin

proc

init.rc

init.goldfish.rc

init

default.prop

data

root

dev

cd data

cd data

ls

ls

misc

local

data

app-private

Android开发除了flutter还有什么是必须掌握的吗?

相信大多数从事Android开发的朋友们越来越发现,找工作越来越难了,面试的要求越来越高了

除了基础扎实的java知识,数据结构算法,设计模式还要求会底层源码,NDK技术,性能调优,还有会些小程序和跨平台,比如说flutter,以思维脑图的方式展示在下图;

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
ot

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.12.3        device commands:


(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

开机:

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb shell

ls

ls

sqlite_stmt_journals

cache

sdcard

etc

system

sys

sbin

proc

init.rc

init.goldfish.rc

init

default.prop

data

root

dev

cd data

cd data

ls

ls

misc

local

data

app-private

Android开发除了flutter还有什么是必须掌握的吗?

相信大多数从事Android开发的朋友们越来越发现,找工作越来越难了,面试的要求越来越高了

除了基础扎实的java知识,数据结构算法,设计模式还要求会底层源码,NDK技术,性能调优,还有会些小程序和跨平台,比如说flutter,以思维脑图的方式展示在下图;

[外链图片转存中…(img-MtosWdw9-1714745949366)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 30
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值