免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4003 | 回复: 0
打印 上一主题 下一主题

如何在Android模拟器上安装和卸载APK程序包(转) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-25 17:26 |只看该作者 |倒序浏览
如何在Android模拟器上安装和卸载APK程序包
一,安装APK
        
安装APK当然首先是要有模拟器,和要安装的APK包,这个不多废话了。直接切入正题,在模拟器安装APK。
        
首先,将模拟器执行起来,直到正式进入系统。
        
接下来,打开一个cmd窗口,路径切换到模拟器目录下的tools目录。
        
输入:adb install 你要安装的apk文件的路径。
        
如果看到一行类显示传输速度的文字,那说明安装成功了。

代码:

C:\Documents and Settings\Administrator>cd D:\andriod\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 -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
        
am很可能将来成为第三方lancher的基础。
        
二,卸装APK
        
与安装类似的,卸妆是利用adb执行一个卸妆指令:

D:\android\tools>adb shell rm data/app/NetScramble_1.1.apk

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

6.现在检查仿真器中的applications,新的应用应该已经在她的内容里面,并且您应该看到新应用准备和安装好。

  我在window下碰到的错误信息,当在在window运行的adb提示 :* deamon still not running *

  error: no device.

  在这种情况下尝试到停止adb服务器并且手动地开始它使用:

  1.$adb kill-server

  2.$adb start-server

  如果您想测试deamon是否在运行,输入:$adb shell

  卸载你测试应用做法是

  $adb shell rm your_application.apk

(3) 安装模拟器Skin, 下载 Skin http://bbs.weiphone.com/read.php?tid=516501
     解压 Magic_Hero_emu_skin.zip 后放在 C:\Android\android-sdk-windows-1.6_r1\platforms\android-1.6\skins\ 下

(4) Windows 进入command prompt 及建立 AVD (Android Virtual Device) 及 sdcard (500M)

复制代码
C:
cd C:\Android\android-sdk-windows-1.6_r1\tools
android create avd --name my_avd1.6 --target 2 --sdcard 500M --skin HVGA-P-HTCMagic





--target 2 代表  Android 1.6 API level: 4
--sdcard 500M 代表建立新SD卡,容量 500M,可选其他容量例如 1000M
--skin HVGA-P-HTCMagic 代表使用 HTCMagic skin可选其他 skin 例如 HVGA-P-HTCHero

(5) 打开模拟器, 用 HTC Magic skin 缩小至0.8

复制代码
emulator -avd my_avd1.6 -skin HVGA-P-HTCMagic -scale 0.8
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP