如何在Android模拟器上安装和卸载APK程序包

来源:互联网 发布:霍尼韦尔监控软件 编辑:程序博客网 时间:2024/04/28 00:25

如何在Android模拟器上安装和卸载APK程序包

Android, 程序包, APK, 卸载, 模拟


一,安装APK
        
安装APK当然首先是要有模拟器,和要安装的APK包,这个不多废话了。直接切入正题,在模拟器安装APK。
        
首先,将模拟器执行起来,直到正式进入系统。
        
接下来,打开一个cmd窗口,路径切换到模拟器目录下的tools目录。
        
输入:adb install 你要安装的apk文件的路径。
        
如果看到一行类显示传输速度的文字,那说明安装成功了。

代码:

C:\Documents and Settings\Administrator>cd D:\andriod\tools

(我测试发现这个目录应该是 D:\Android\android-sdk-windows\platform-tools ) 
       
 

C:\Documents and Settings\Administrator>d:



D:\android\tools>adb install c:\NetScramble_1.1.apk 100 KB/s (0 bytes in 164464.001s)

回到Android模拟器的界面,我本来以为可以看到刚刚安装的APK程序图标,结果,却根本没有...后来研究了一下,发现这根APK包自身有关。使用自己编写的HelloAndroid安装,图标就可以显示在桌面上,而NetScramble_1.1.apk安装后却显示不出来。具体原因是来自于AndroidManifest.xml文件的内容。

代码:

<?xml version="1.0" encoding="utf-8"?> <manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="net.xiashou.android">   <intent-filter>  <category
android:name="android.intent.category.LAUNCHER" />
</intent-filter> </activity> </application>
</manifest>

xml文件中,红色一行是表示这个apk属于哪个归类里,如果不正确的填写这个信息,Launcher将不会将其显示在桌面上,因为它会认为这个应用部署以自己的归类。
        
那么,是不是我们就无法执行缺失了category的apk了呢?
        
后来,在一个老外的blog上,查到了方法:在shell内使用am来加载android应用

usage: am [start|instrument] am start [-a ] [-d
<DATA_URI>] [-t <MIME_TYPE>] [-c <CATEGORY> [-c
<CATEGORY>] ...] [-e <EXTRA_KEY> <EXTRA_VALUE> [-e
<EXTRA_KEY> <EXTRA_VALUE> ...] [-n <COMPONENT>] [-D]
[<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">   <intent-filter>  <category
android:name="android.intent.category.LAUNCHER" />
</intent-filter> </activity> </application>
</manifest>

使用的指令为:

am start -n net.xiashou.android/net.xiashou.android.HelloAndroid

还有一些很有用处的用法
        
直接启动浏览器打开一个网址 # am start -a android.intent.action.VIEW -dhttp://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
        
am很可能将来成为第三方lancher的基础。
        
二,卸装APK
        
与安装类似的,卸妆是利用adb执行一个卸妆指令:
D:\android\tools>adb shell rm data/app/NetScramble_1.1.apk

---------------------------------------------------
上面的删除apk文件并不能真正的卸载掉程序。
正确的卸载方法:
Setting-Applications-Manage Applications-找到它 卸载
---------------------------------------------------


这里,也可以看出,Android系统是将第三方应用放在data/app目录内的。
原创粉丝点击