因为最近要做一个socket编程作业,做的是pc与android手机的文件夹同步程序,所以要用到很多对android模拟器的文件夹操作。虽然在eclipse下开发,但是操作起来不甚方便,所以选择用adb操作模拟器。三天前我还对android开发完全不懂,纠结了3天,还是把作业搞定了,其实从一个小白到菜鸟还是不难的。因为以后再接触到android开发的机会不多,所以准备把这次短暂的android开发之旅用博客记录一下,最后也会给出项目代码,万一某个也为socket作业纠结的童鞋看到了,可以直接拿给老师交差了。那就先从adb的使用开始。因为三天前还没听说过adb是啥玩意儿,所以一步一步来吧~
---------------------------------------------------
(1)adb是什么
adb-android debug brige。adb是android sdk中提供的工具,用来调试安卓手机,可以是模拟器,也可以是真手机。abd在哪里?应该存在于android sdk文件夹的tools里面吧?所以打开android sdk 文件夹下的tools文件夹,没发现sdk,只发现了adb_has_moved.txt 这个文件,里面说The adb tool has moved to platform-tools。在sdk文件夹下的platform-tools文件夹下果真有adb.exe。那么,配置环境变量,将G:\D\android\android-sdk_r17-windows\android-sdk-windows\platform-tools放到系统变量path里面,然后再命令行下打开adb,看到命令行输出很多东西,所以adb已经可以了。
-----------------------------------------------------
(2)adb可以做什么
1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
2、在设备上运行shell命令;
3、管理设备或手机模拟器上的预定端口;
4、在设备或手机模拟器上复制或粘贴文件
---------------------------------------------------------
(3)一些常用的操作
1, 显示android 模拟器状态:
adb会自动监听5554端口,所以可以直接操作模拟器。
adb devices (端口信息)
adb get-product (设备型号)
adb get-serialno (序列号)
比如:
2, 上传下载文件
上传文件: adb push <PC文件> <模拟器文件>
下载文件: adb pull <模拟器文件> <PC文件>
比如:adb push /test/1.png /mnt/sdcard/DCIM/Camera 这样就把pc上的图片传到了模拟器的sd卡上
adb pull /data/data/
3, Shell操作
adb shell
进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux 的命令,另外如果只想执行一条shell命令,可以采用以 下的方式:
adb shell [command]
(Android的linux shell做了大量精简,很多linux常用指令都不支持)
如: adb shell rm /mnt/sdcard/DCIM/Camera/1.png 删除刚才添加的文件
4,安装程序: adb install <*.apk>
卸载软件: adb shell rm /data/app/<*.apk>
补充一点,通过adb安装的软件(*.apk)都在"/data/app/"目录下,所以安装时不必制定路径,卸载只需要简单的执行"rm" 就行。
5,结束adb: adb kill-server
6,等待正在运行的设备: adb wait-for-device
7, 端口转发: adb forward adb forward tcp:5555 tcp:1234 (将默认端 口TCP 5555转发到1234端口上)
8,查看bug报告: adb bugreport
9,adb shell sqlite3 访问数据库SQLite3
10,adb shell logcat -b radio 记录无线通讯日志