自SDK2.2版本以后(貌似是),adb.exe就放在了platform-tools文件夹里。因此在设置环境变量的时候就会忽略了adb,以至于在命令控制台上输入”adb”会提示”不是内部或者外部命令”。所以有两种解决方法,第一是将adb.exe还有AdbWinApi.dll和AdbWinUsbApi.dll动态链接库文件移到tools文件夹里,第二种是直接设置环境变量到platform-tools里。方法如下:(Win7) 我的电脑–右键–属性–高级系统设置–环境变量–path: 添加:盘符:\xxx\android\android-sdk-windows\platform-tools。 根目录根据自己情况的定 |
下面如果开始出现(adb shell device not found)
输入 adb start-server (启动adb服务器), 然后运行 “adb shell”, 出息# 符号表示可以了。 (该功能只是启动服务,没指定****模拟器)
首先启动android模拟器。
打开cmd命令行窗口。输入adb -s emulator-5554 shell (指定5554模拟器)
此时可以管理系统文件夹了,再输入ls
可以看到列出了文件夹和文件,输入cd system/app再输入ls
可以看到系统自带的应用程序apk文件,删除你想要删除的,例如Phone.apk,输入rm Phone.apk
此时会看到提示说rm failed for Phone.apk, Read-only file system那是因为这些是只读文件,我们没有权限删除它。所以接下来要做的是获取权限,首先查看权限,输入mount
可以看到/dev/block/mtdblock0 /system yaffs2 ro 0 0说明在system这个地方我们没有权限那么接下来我们就来获取权限,输入mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
没有提示错误,再次查看权限,输入mount
可以看到/dev/block/mtdblock0 /system yaffs2 rw 0 0
说明我们已经获取到权限了此时再输入rm Phone.apk就可以成功删除了
最后一点,就算你成功删除了,android模拟器每次启动时也会恢复回来。
那么如何永久删除呢,很简单,删除SdkSetup.apk,输入rm SdkSetup.apk
还没完,找到avd目录(一般在我的文档),进入xxxx.avd目录,删除cache.img和userdata-qemu.img
还有还有,找到%SDK_HOME%/platforms/android-X/images/system.img,复制到上面的目录中。
最后最后,再重启模拟器,大功告成!
adb shell下使用命令行删除android系统中指定文件和文件夹
记录一下命令:
tools>adb remount
tools>adb shell
#su
#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹
# 删除 SD 卡里面的档案
#cd /sdcard
#rm 001.jpg (删除 SD 记忆卡里的档案)
#rm -r * (删除 SD 记忆卡里所有档案与目录)
# Android仿真器影片播放方法
mksdcard 4096M video.img (制作一个图像文件的 SD 记忆卡)
adb push video.avi /sdcard (从计算机复制图像文件到 SD 卡中)
emulator -sdcard video.img (启动模拟器并载入SD卡)
adb install iiivpa.apk (安装Meridian Video Player)
Android里的shell的系统命令
$adb uninstall package (移除 APK 应用程序)
adb uninstall com.android.email
$adb shell (进入android shell命令模式)
$ls
$dmesg (查看 Android Linux Kernel 运行信息)
ls - 显示文件目录
cd - 进入目录
rm - 删除文件
mv - 移动文件
mkdir - 产生目录
rmdir - 删除目录
$adb push (复制文件到 SD 卡)
adb push mp3 /sdcard
$adb pull . (从Android 系统下载文件)
adb pull /data/app/com.android.email
$adb logcat (监控模拟器运作记录,以Ctrl + c离开监控模式)
$adb bugreport (产生adb出错报告)
$adb get-state (获得adb模拟器工作状态)
$adb start-server (启动adb服务器)
$adb kill-server (关掉adb服务器)
$adb forward tcp:6100 tcp:7100 (更改模拟器通讯网路)
$adb shell ps -x (显示android模拟器上所有在执行的进程)
$adb version (显示 adb 版本)
$adb help (显示 adb 指令参数)
5、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
6、查看bug报告:
adb bugreport
7、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
8、获取设备的ID和序列号:
adb get-product
adb get-serialno
9、访问数据库SQLite3
adb shell
sqlite3
# Emulator 命令行启动参数
emulator -timezone Asia/Taipei (指定时区)
emulator -no-boo-anim (省略开机小机器人启动画面)
emulator -scale auto (调整模拟器视窗大小)
emulator - scale factor (factor: 0.1-3.0)
emulator -dpi-device 300 (更改仿真器的分辨率,default为 165dpi)
emulator -skin (更改模拟器显示模式)
emulator -help-keys (显示键盘快速说明)
emulator -shell (相当于adb shell 功能)
emulator -data data.img (使 /data 目录使用 data.img 的文件空间)
emulator -sdcard sdcard.img (使 /sdcard 目录使用 sdcard.img 的文档空间)
emulator -cache cache.img (浏览器暂存空间)
emulator -wipe-data (使模拟器恢复到原始设置)
emulator -help (显示 emulator 指令参数)
Using SQLite from Shell in Android
命令模式下
#ls 查看即可
使用Android模拟器经常遇到连不上、连一次掉一次等诸多问题
在此种情形下,重启ADB即可:
在eclipse下:
window -> Show Views -> device -> view menu -> Reset adb
或者在命令行状态下:
adb kill-server---再adb start-server