Android——adb常用命令

一、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,意思是将设备改为可读可写。
Android——adb常用命令_第1张图片

4、导出手机中/etc/permissions/platform.xml文件,在里面加入以下内容:
Android——adb常用命令_第2张图片
Android——adb常用命令_第3张图片

<library name="com.google.android.maps" file="/system/framework/com.google.android.maps.jar"/>         

5、将platform.xml push回手机。
Android——adb常用命令_第4张图片
查看修改的结果:
Android——adb常用命令_第5张图片
Android——adb常用命令_第6张图片

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之类的关掉,不然可能执行不成功。

你可能感兴趣的:(Android基础,adb,android,命令,avd,常用命令)