android命令实战手册
?
1??????????? android.bat· 2
1.1????? 查看帮助信息: 2
1.2????? 创建avd· 2
1.3????? Lists existing targets or virtual devices 2
1.4????? Lists existing Android Virtual Devices 3
1.5????? Lists existing targets 4
2??????????? emulator.exe·· 5
2.1????? 启动模拟器··· 5
2.2????? 使用模拟器控制台··· 7
3??????????? ddms.bat· 10
3.1????? 直接启动ddms 10
4??????????? adb·· 11
4.1????? Adb help: 11
4.2????? scripting: 13
4.3????? device commands: 14
5??????????? 关于编译···· 17
5.1????? am: 18
5.2????? 重新编译源码··· 18
6??????????? 系统信息···· 18
6.1????? Process: list process after phone started· 19
6.2????? Memory info: list memory information after phone started· 19
6.3????? Init log: list phone init log· 19
6.4????? Bugreport: from adb bugreport· 19
?
1???? android.bat?
1.1?? 查看帮助信息:
??? android.bat –h 或 android.bat –help
?
1.2?? 创建avd
(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:
????????? 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:\DOCUME~1\LIZHON~1\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 <serial number>??????????? - directs command to the USB device or emulator with
???????????????????????????????? the given serial number
?-p <product name or path>???? - 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 <local> <remote>??? - copy file/dir to device
? adb pull <remote> <local>??? - copy file/dir from device
? adb sync [ <directory> ]???? - copy host->device only if changed
???????????????????????????????? (see 'adb help all')
? adb shell??????????????????? - run remote shell interactively
? adb shell <command>????????? - run remote shell command
? adb emu <command>??????????? - run emulator console command
? adb logcat [ <filter-spec> ] - View device log
? adb forward <local> <remote> - forward socket connections
???????????????????????????????? forward specs are one of:
?????????????????????????????????? tcp:<port>
?????????????????????????????????? localabstract:<unix domain socket name>
?????????????????????????????????? localreserved:<unix domain socket name>
?????????????????????????????????? localfilesystem:<unix domain socket name>
?????????????????????????????????? dev:<character device name>
?????????????????????????????????? jdwp:<process pid> (remote only)
? adb jdwp???????????????????? - list PIDs of processes hosting a JDWP transport
? adb install [-l] [-r] <file> - 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] <package> - 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: <serial-number>
? 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 <tty> [parameters]?? - Run PPP over USB.
?Note: you should not automatically start a PPP connection.
?<tty> 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 [ <directory> ]
? <localdir> can be interpreted in several ways:
?
? - If <directory> 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
????? app
????? property
????? anr
????? dalvik-cache
????? system
????? lost+found
?????
????? # cd data
????? cd data
????? # pwd
????? pwd
????? /data/data
????? # ls -l
????? Ls -l
????? # ls -l
????? ls -l
????? drwxr-xr-x app_0??? app_0???????????? 2009-11-25 02:42 com.android.packageinstaller
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:42 com.android.providers.contacts
????? drwxr-xr-x app_2??? app_2???????????? 2009-11-25 02:42 com.android.fallback
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:42 com.android.inputmethod.latin
????? drwxr-xr-x app_3??? app_3???????????? 2009-11-25 02:42 com.android.gesture.builder
????? drwxr-xr-x app_4??? app_4???????????? 2009-11-25 02:42 com.google.android.marvin.talkback
????? drwxr-xr-x app_5??? app_5???????????? 2009-11-25 02:42 com.android.providers.downloads
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:42 com.android.inputmethod.pinyin
????? drwxr-xr-x system?? system??????????? 2009-11-25 02:42 com.android.providers.settings
????? drwxr-xr-x app_6??? app_6???????????? 2009-11-25 02:42 com.android.development
????? drwxr-xr-x app_7??? app_7???????????? 2009-11-25 02:42 com.android.email
????? drwxr-xr-x app_8??? app_8???????????? 2009-11-25 02:42 com.android.music
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:42 com.android.globalsearch
????? drwxr-xr-x app_9??? app_9???????????? 2009-11-25 02:42 jp.co.omronsoft.openwnn
????? drwxr-xr-x app_10?? app_10??????????? 2009-11-25 02:42 com.android.mms
????? drwxr-xr-x app_5??? app_5???????????? 2009-11-25 02:42 com.android.camera
????? drwxr-xr-x app_11?? app_11??????????? 2009-11-25 02:42 com.android.term
????? drwxr-xr-x system?? system??????????? 2009-11-25 02:42 com.android.settings
????? drwxr-xr-x app_12?? app_12??????????? 2009-11-25 02:42 com.android.browser
????? drwxr-xr-x app_13?? app_13??????????? 2009-11-25 02:42 android.tts
????? drwxr-xr-x app_14?? app_14??????????? 2009-11-25 02:42 com.android.customlocale
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:42 com.android.providers.userdictionary
????? drwxr-xr-x app_15?? app_15??????????? 2009-11-25 02:42 com.android.soundrecorder
????? drwxr-xr-x app_16?? app_16??????????? 2009-11-25 02:42 com.android.netspeed
????? drwxr-xr-x radio??? radio???????????? 2009-11-25 02:43 com.android.phone
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:43 com.android.contacts
????? drwxr-xr-x app_17?? app_17??????????? 2009-11-25 02:43 com.android.htmlviewer
????? drwxr-xr-x system?? system??????????? 2009-11-25 02:43 com.android.server.vpn
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:43 com.google.android.providers.enhancedgooglesearch
????? drwxr-xr-x app_18?? app_18??????????? 2009-11-25 02:43 com.android.sdksetup
????? drwxr-xr-x app_4??? app_4???????????? 2009-11-25 02:43 com.google.android.marvin.soundback
????? drwxr-xr-x app_5??? app_5???????????? 2009-11-25 02:43 com.android.providers.drm
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:43 com.android.launcher
????? drwxr-xr-x app_1??? app_1???????????? 2009-11-25 02:43 com.android.providers.applications
????? drwxr-xr-x app_19?? app_19??????????? 2009-11-25 02:43 com.svox.pico
????? drwxr-xr-x app_5??? app_5???????????? 2009-11-25 02:43 com.android.providers.media
????? drwxr-xr-x app_20?? app_20??????????? 2009-11-25 02:43 com.android.calculator2
????? drwxr-xr-x app_4??? app_4???????????? 2009-11-25 02:43 com.google.android.marvin.kickback
????? drwxr-xr-x radio??? radio???????????? 2009-11-25 02:43 com.android.providers.telephony
????? drwxr-xr-x app_21?? app_21??????????? 2009-11-25 02:43 com.android.alarmclock
????? drwxr-xr-x app_22?? app_22??????????? 2009-11-25 02:43 com.android.spare_parts?????
? 先后启动kx011和a两个应用程序(都是activity),则,
???? 在/data/data下,就会看到如下两个应用了,
???? # ls
???? a.a
???? com.kx011
? 而且,在/data/app下,也有这两个应用的apk文件。
???? # cd /data/app
????? cd /data/app
????? # ls
????? ls
????? com.kx011.apk
????? a.a.apk
?????
????? 说明:在/data/data目录下,存放了所有系统已经启动的的应用程序;
??????????? 在/data/app下,以apk的形式存放了用户建立的应用。
?
(3)adb pull????? // 说明:copy file/dir from device
????? E:\android_sdk\android-sdk-windows-1.6_r1\tools>adb pull /init.rc F:\ABD\x.txt
668 KB/s (10700 bytes in 0.015s)
?
????????? adb push <local> <remote>??? - copy file/dir to device
??? adb pull <remote> <local>??? - copy file/dir from device
?
(4)adb push? // 说明:copy file/dir to device
???? E:\android_sdk\android-sdk-windows-1.6_r1\tools>adb push ddms.bat /data/
???? 124 KB/s (1992 bytes in 0.015s)
??
?
(5) adb install
E:\android_sdk\android-sdk-windows-1.6_r1\tools>adb install D:\allProject\android16\kx011\bin\kx011.apk
259 KB/s (8297 bytes in 0.031s)
??????? pkg: /data/local/tmp/kx011.apk
Success
#
说明: install 完成之后,直接进入adb shell
?
?
(6) adb jdwp
??? E:\android_sdk\android-sdk-windows-1.6_r1\tools>adb jdwp
??? 567
??? 614
??? 616
??? 641
??? 661
??? 678
??? 707
??? 714
?
(7) adb bugreport
?? 列出了bug信息,see to bugreport.txt??? [ 点击查看 ]
?
?
13??? 关于编译
?
1.13.1??????? am:
?
adb install c:\NetScramble_1.1.apk
adb shell rm data/app/NetScramble_1.1.apk
am start -n net.xiashou.android/net.xiashou.android.HelloAndroid
# am start -a android.intent.action.VIEW -d http://www.xiashou.net
# am start -a android.intent.action.CALL -d tel:10086
# am start -a android.intent.action.VIEW geo:0,0?q=tianjin
# am start –n com.android.music/.MediaPlaybackActivity
?
1.13.2??????? 重新编译源码
?? 当然,这是在linux下面进行的。
(1) 编译源码
解压原码到本地,进入原码目录,执行: make, 即可。
?
(2) 编译SDK
在make完成后,直接make sdk,会在out/host/linux-x86/sdk下面生成mdk文件及文件夹,形如:android-sdk_eng.xxx_linux-x86
?
(3) 编译单个模块
???? 1.先将system文件夹移出,
???? 2.在android目录下执行
????????????? $ . build/envsetup.sh
???? 3. 然后你就会多出几个可用的命令。在改了Contacts联系人项目后,可以简单的执行一下命令来单独编译这个部分:
????????????? $mmm packages/apps/Contacts/
???????? 或者在src目录下直接运行make module name :
???????? cd ~/android/src
???????? make Contacts
???? 4.将新生成的system文件夹覆盖原system文件夹
???? 5.然后编译system.img
????? ./out/host/linux-x86/bin/mkyaffs2image -f out/target/product/generic/system out/target/product/generic/system.img
????? 第二次mmm需将/out/target/product/generic/obj/全部拷回!!!
???? (mmm命令非常的多管闲事,它每次编译都把obj删了!!!)
????? 输出cmd命令到文件
?????????? dir > a.log
?
4???? 系统信息
由于篇幅的原因,这里,只给出链接,分别列出了process, memory info, init log, bugreport信息。值得注意的是,bugreport 中包含了前三项。另外,process和memory info是从真机中导出来的,init log 和bugreport是从模拟器拿到的,而且,取得的日期时间都不一致
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liranke/archive/2009/12/16/5014534.aspx