android 命令大全
来源:互联网 发布:mc录音软件 编辑:程序博客网 时间:2024/05/02 01:07
目录
1 android.bat
2 emulator.exe
3 ddms.bat
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
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
(8) 使用- 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
(9) 使用- 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中,就会看到有一条短信了.
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命令到文件
由于篇幅的原因,这里,只给出链接,分别列出了process, memory info, init log, bugreport信息。值得注意的是,bugreport 中包含了前三项。另外,process和memory info是从真机中导出来的,init log 和bugreport是从模拟器拿到的,而且,取得的日期时间都不一致。
process, memory info, init log, bugreport
Android shell命令大全
akmd
am
app_process
cat
chmod
cmp
dalvikvm
date
dbus-daemon
dd
debug_tool
debuggerd
dexopt
df
dhcpcd
dmesg
dumpcrash
dumpstate
dumpsys
dvz
fillup
flash_image
getevent
getprop
hciattach
hcid
hd
hostapd
hostapd_cli
htclogkernel
id
ifconfig
iftop
input
insmod
installd
ioctl
itr
kill
linker
ln
log
logcat
logwrapper
ls
lsmod
mediaserver
mkdir
mkdosfs
monkey
mount
mountd
mv
netcfg
netstat
notify
ping
playmp3
pm
printenv
ps
qemud
radiooptions
reboot
renice
rild
rm
rmdir
rmmod
route
schedtop
sdptool
sdutil
sendevent
service
servicemanager
setconsole
setprop
sh
sleep
smd
ssltest
start
stop
surfaceflinger
svc
sync
system_server
telnetd
toolbox
top
umount
vmstat
watchprops
wipe
wlan_loader
wpa_cli
wpa_supplicant
1 android.bat
2 emulator.exe
3 ddms.bat
4 系统信息
5.Android shell命令大全
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
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
(8) 使用- 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
(9) 使用- 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中,就会看到有一条短信了.
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
由于篇幅的原因,这里,只给出链接,分别列出了process, memory info, init log, bugreport信息。值得注意的是,bugreport 中包含了前三项。另外,process和memory info是从真机中导出来的,init log 和bugreport是从模拟器拿到的,而且,取得的日期时间都不一致。
process, memory info, init log, bugreport
Android shell命令大全
akmd
am
app_process
cat
chmod
cmp
dalvikvm
date
dbus-daemon
dd
debug_tool
debuggerd
dexopt
df
dhcpcd
dmesg
dumpcrash
dumpstate
dumpsys
dvz
fillup
flash_image
getevent
getprop
hciattach
hcid
hd
hostapd
hostapd_cli
htclogkernel
id
ifconfig
iftop
input
insmod
installd
ioctl
itr
kill
linker
ln
log
logcat
logwrapper
ls
lsmod
mediaserver
mkdir
mkdosfs
monkey
mount
mountd
mv
netcfg
netstat
notify
ping
playmp3
pm
printenv
ps
qemud
radiooptions
reboot
renice
rild
rm
rmdir
rmmod
route
schedtop
sdptool
sdutil
sendevent
service
servicemanager
setconsole
setprop
sh
sleep
smd
ssltest
start
stop
surfaceflinger
svc
sync
system_server
telnetd
toolbox
top
umount
vmstat
watchprops
wipe
wlan_loader
wpa_cli
wpa_supplicant
- Android shell命令大全
- Android shell命令大全
- Android命令大全
- Android命令大全
- android 命令大全
- android 命令大全
- Android命令大全
- android 命令大全
- Android adb 命令大全
- android adb 命令大全
- android-adb命令大全
- android命令大全
- android手机命令大全
- android ADB命令大全
- Android ADB命令大全
- Android ADB命令大全
- android studio命令大全
- Android ADB命令大全
- ACM-FZOJ1011解题报告
- Eclipse中查看Android2.2源程序
- git 使用教程
- 常用的csss标记属性
- 可爱的python conclusion
- android 命令大全
- iphone开发笔记五 asihttprequest访问websevice
- [android之旅]环境搭建中的一些问题
- MFC浅析(2) 文档视图结构中文档操作流程
- ucos中OSTaskDel不能删除自己
- Changing Interconnect/Public Interface, IP or Subnet in Oracle Clusterware
- android服务基本用法
- android驱动学习入门-android应用怎么调用驱动2
- [转]不走弯路 职场奋斗10年的辛酸教训