Android模拟器软件安装和卸载

zz自软件屋

【安装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"> <application android:icon="@drawable/icon"> <activity android:name=".HelloAndroid" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <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 <ACTION>] [-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 <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>] [-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"> <activity android:name=".HelloAndroid" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <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.VIEW geo:0,0?q=tianjin

am很可能将来成为第三方lancher的基础。

【卸装APK】

与安装类似的,卸妆是利用adb执行一个卸妆指令:

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

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

【一些思考】

因为模拟器内运行的是一个内存文件系统,也就是说,你安装的apk文件,在模拟器被关闭后,也就不再存在了(它实际上是被安装到内存里)。所以,下次启动模拟器,依然需要再次安装APK。然后,实际测试结果并非如此...于是打开AndroidSDK目录发现,tools\lib\images的文件都被更新了。原来Android模拟器是将他的内存系统实时dump到img中保存下来的。

还有一个特别有意义的发现,是从adb shell rm而来的思考。rm本身是linux的一个文件删除指令,加上前面的shell关键字,会不会adb shell直接就能打开一个linux终端呢?实测结果果然如此!不过,Android的linux shell显然做了很多精简,大量的linux常用指令都不支持。

更多关于adb详细的使用,可以使用adb help指令来查看。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MOTO XT882一键ROOT工具,本人亲试用过,绝对管用。 1、打开USB调试(前提必须安装摩托罗拉驱动) 2、插上手机,选择仅充电 "Charge Only"模式 3、执行'XT882一键ROOT.bat'(Win7用户以管理员身份运行) 4、下一步,下一步,重启2遍,直到提示你关闭窗口,完成Root。 XT882 ROOT后可以删除软件明细。 AccountAndSyncSettings.apk=同步与帐户设定(绝不能删除) ApplicationsProvider.apk=应用程序支持服务 (绝不能删除) AudioEffectSettings.apk=音效(可删) Besttone.apk=号码百事通(可删) Bluetooth.apk=蓝牙(可删,删除后蓝牙功能消失) Browser.apk=系统自带浏览器(可删,可用其他手机浏览器替代) Calculator.apk=计算器(可删,可用其他替代) CertInstaller.apk=证书服务 (绝不能删除) ContactsProvider2_0.apk =通讯录/联系人数据存储服务 (绝不能删除) CTBrandservice.apk=互联星空与客户服务和号簿助手(可删) CtcnUaService.apk=电信客户服务(可删) DefaultContainerService.apk=默认通讯录服务(绝不能删除) DLNA.apk=媒体共享(可删) DlnaSystemService.apk=DLNA相关(可删) DownloadProvider.apk=下载管理器(绝不能删除) DrmProvider.apk=DRM受保护数据存储服务(绝不能删除) FileManager.apk=简易文件管理(可删,可用ES或RE文件管理器替代) Gallery3D.apk=3D图片浏览器 (可删) HTMLViewer.apk=HTML浏览器(可删) LiveWallpapersPicker.apk=动态壁纸(可删) Latin.apk=moto英文输入法(可删) LatinIME.apk=android键盘(可删) MagicSmokeWallpapers.apk=魔幻烟雾壁纸(可删) MediaProvider.apk=媒体数据存储服务(绝不能删除) MediaSync.apk=媒体同步(可删) MotoSmartHandWriting.apk=moto手写输入法(可删) PackageInstaller.apk=程序安装(绝不能删除) PicoTts.apk=文本转语音(可删) Pinyin.apk=Moto拼音(可删) Restaurant.apk=餐馆(可删) Settings.apk=系统设置(绝不能删除) SettingsProvider.apk=设置服务程序 (绝不能删除) soundback.apk=辅助功能(可删) SoundRecorderMot.apk=录音机(可删,可用第三方录音软件替代) Stk.apk=UIM卡应用(可删,有机友把联系人复制在SIM卡上的就不要删它) Switcher.apk=Moto输入法(可删) SyncML.apk=备份(可删) TelephonyProvider.apk=拨号记录存储服务(绝不能删除) Term.apk=超级终端(可删,不过不建议,可以用来刷Recovery) UserDictionaryProvider.apk =用户数据字典服务(可删) TtsService.apk=Text-to-speech服务(可删) TYSX.apk=天翼视讯(可删) Utk.apk=uiM卡(可删) 大家注意删除Stk.apk和Utk.apk的时候电话信号会暂时的没有一下能有不到10秒,然后自己就会在恢复呵呵不要害怕。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值