如何在Android模拟器上安装和卸载APK程序包
2010-08-20 01:29:00 来源:WEB开发网[< URI>] am instrument [-e ] [-p ] [-w] < COMPONENT>
比如启动一个manifest为如下内容的apk:
< ?xml version="1.0" encoding="utf-8"?>
< manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.xiashou.android">
< application android:icon="@drawable/icon" android:label="@string/app_name">
< activity android:name=".HelloAndroid" android:label="@string/app_name">
< intent-filter>
< category android:name="android.intent.category.LAUNCHER" />
< /intent-filter>
< /activity>
< /application>
< /manifest>
使用的指令为:
adb shell
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
启动google map直接定位在天津:
am start -a android.intent.action.VIEWgeo:0,0?q=tianjin
卸装APK
与安装类似,卸载是利用adb执行一个卸载指令:
adb shell rm data/app/org.gooss.android.hello.apk
# 上面的命令可拆解成:
adb shell
rm data/app/org.gooss.android.hello.apk
可以看出Android系统是将第三方应用放在data/app目录内的。org.gooss.android.hello.apk的安装目录可以 通过下面的命令查询:
adb shell
ls data/app
也可以通过Android主菜单-设置-应用程序-管理应用程序,选择相应的应用程序,并在打开的界面中点击”卸载”按钮来删除已安装的apk软件 包。
补充一点:
卸载最好用android 中的setting->application manage进行卸载,否则下次安装会出错。
【一些思考】
因为模拟器内运行的是一个内存文件系统,也就是说,你安装的apk文件,在模拟器被关闭后,也就不再存在了(它实际上是被安装到内存里)。所以,下次启动模拟器,依然需要再次安装APK。然后,实际测试结果并非如此...于是打开AndroidSDK目录发现,toolslibimages的文件都被更新了。原来Android模拟器是将他的内存系统实时dump到img中保存下来的。
还有一个特别有意义的发现,是从adb shell rm而来的思考。rm本身是linux的一个文件删除指令,加上前面的shell关键字,会不会adb shell直接就能打开一个linux终端呢?实测结果果然如此!不过,Android的linux shell显然做了很多精简,大量的linux常用指令都不支持。
更多关于adb详细的使用,可以使用adb help指令来查看。
更多精彩
赞助商链接