一、android平台
1、查看系统中所有android平台:
android list targets
二、AVD(模拟器)
1、创建AVD:
android create avd 命令:
选项:
-t –target 新的AVD 的Target ID(必须)
-c –sdcard 指向一个共享的SD 存储卡的路径或是为新的AVD 定制的新SD 存储卡的容量大小
-p –path 新AVD 将被创建的位置路径
-n –name 新AVD 的名称(必须)
-f –force 强制创建(覆盖已存在的AVD)
-s –skin 新AVD 的皮肤 andr
示例:android create avd -f -t “android-17” -n “cmcc01” -b “armeabi” -s “WQVGA400”
2、查看系统中全部AVD:
android list avd
3、启动AVD:
emulator -avd 名称
4、删除AVD:
android delete avd - -name 名称
5、删除运行中的模拟器:
ps aux | grep emulator
找到,然后kill掉
6、创建SDCard:
mksdcard 1024M ~/名称.img
三、ADB常用命令
1、显示当前运行的全部模拟器:
adb devices
2、 安装应用程序:
adb install -r 应用程序.apk
-l 锁定该程序
-r 重新安装该程序,保存数据
-s 安装在SD卡内,而不是设备内部存储 示
示例1:adb install -r /home/android/apk/FXAbilityClient.apk
示例2:adb -s emulator-5554 install email.apk(安装到指定AVD中)
3、卸载应用程序:
adb uninstall [packge] [-k]
-k 表示只删除该应用程序,但保留该应用程序所有的数据和缓存目录(如软件的数据库文件)
更彻底的卸载应用步骤:
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
4、删除系统应用:
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm *.apk
5、获取模拟器中的文件:
adb pull
示例:adb pull /sdcard/abc.txt c:/ 将模拟器文件复制到电脑
6、向模拟器中写文件:
adb push
示例:adb push c:/123.doc /sdcard/ 将电脑文件复制到模拟器中
7、进入模拟器的shell模式:
adb shell
8、 获取管理员权限:
adb root
9、启动Activity:
adb shell am:
-n 类名
-a action
-d date
-m MIME-TYPE
-c category
-e 扩展数据 am是管
am是管理activity的工具
am start/stop 表示启动或者停止一个activity
INTENT的参数可以在AndroidManifest.xml中的intent-filter中找到
比如我要打开发送邮件的activity就可以这样写
am start -a android.intent.action.SEND_MULTIPLE
am start和StartActivity方法是一个作用
10、获取设备的ID和序列号:
adb get-product
11、访问数据库SQLite3:
1、进入/data/data/包名/databases/目录下:
sqlite3 tree.db : 进入数据库
.table : 查看所有的表
pragma table_info(TABLE_NAME); :查看表的数据结构
.mode line :命令切换显示模式
12、其他:
adb start-server (启动adb服务器)
adb kill-server (关掉adb服务器)
adb forward tcp:6100 tcp:7100 (更改模拟器通讯网路)
adb shell ps -x (显示android模拟器上所有在执行的进程)
adb version (显示 adb 版本)
查看保存过的WIFI密码:
adb shell
cat /data/misc/wifi/wpa_supplicant.conf
查看cpu、内存使用情况:
cpu:top -m 5(按cpu使用率排名前五)
内存:busybox free
常见问题:
1、最近在编写Google Map应用的过程中发现一个问题,在往手机上装应用的时候出现:
Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY错误。
经过各种找资料才知道是我手机的ROM里吧共库“com.google.android.maps.jar”精简了,
我们只需要把共享库文件“com.google.android.maps.jar”放回去即可。
操作步骤:
1、首先确保自己的手机有ROOT权限;
2、下载com.google.android.maps.jar;
3、把“com.google.android.maps.jar”文件拷贝到手机的system/framework目录下;
直接运行adb push 命令会报failed to copy … : Read-only file system 错误,需要先执行adb remount,意思是将设备改为可读可写。
4、导出手机中/etc/permissions/platform.xml文件,在里面加入以下内容:
![]()
<library name="com.google.android.maps" file="/system/framework/com.google.android.maps.jar"/>
5、将platform.xml push回手机。
![]()
查看修改的结果:
![]()
2、Android获得Root权限后文件系统仍然报Read-Only的问题
获得了Root权限后,adb shell进入文件系统,有时仍然不能对系统文件夹进行写操作,典型的如删除/system/app下的Apk。
例如系统报:rm failed for xxx.apk, Read-only file system
解决方法:
1. adb remount
2. adb shell su之后将文件系统remount为读写权限: mount -o rw,remount /system。
出于安全考虑,记得完事后remount回只读: mount -o ro,remount /system
3. 和方法2类似,mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
需要注意的是必须把电脑上面的腾讯管家、360之类的关掉,不然可能执行不成功。