`
isiqi
  • 浏览: 16484960 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Android模拟器上安装和卸载APK

阅读更多

玩过了一天Android模拟器,也写了几个小测试程序。突然有个问题出现,如果脱离Eclipse开发环境,如何能将APK包部署给模拟器呢?
研究了一下模拟器的内存文件系统,似乎没什么发现,是一个Linux内核。
于是到google问问老外们,终于知道了,吼吼。
【安装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指令来查看。

点击这里进入对应文章地址 [进入主站]

分享到:
评论

相关推荐

    如何在Android模拟器上安装和卸载APK包.chm

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

    在Android模拟器上安装和卸载APK包

    本文将深入探讨如何在Android模拟器上安装和卸载APK包,并提供相关知识点。 首先,安装APK包的过程相对简单。Android系统支持通过多种方式安装应用,包括通过Google Play、文件管理器或者直接通过命令行。对于开发...

    在Android 模拟器上安装和卸载APK包的方法

    本文将详细讲解如何在Android模拟器上安装和卸载APK包。 首先,启动Android模拟器。模拟器的可执行文件通常位于Android SDK的安装目录下的`tools`文件夹中。例如,在Windows环境下,路径可能是`F:GPhoneandroid-sdk...

    android:windows下面如何从模拟器安装和卸载APK

    android:windows下面如何从模拟器安装和卸载APK。dos下用命令行操作安装和卸载。

    Android教程之如何安装(卸载)apk文件到模拟器

    在Android应用开发的过程中,安装和卸载APK文件是开发者经常进行的操作。这篇教程将详细介绍如何在Android模拟器上进行这些操作。...希望这篇教程能帮助你更好地理解和操作Android模拟器上的APK安装与卸载。

    adb批量安装卸载apk

    本教程将详细讲解如何使用`adb`配合`bat`脚本来实现批量安装和卸载APK,这对于多设备管理或自动化测试非常实用。 ### ADB介绍 ADB是Android开发者工具包(SDK)的一部分,可以连接物理设备或模拟器。主要功能包括:...

    android模拟器安装和apk(应用程序)安装与卸载.doc

    **卸载APK**: 1. **91手机助手**: 在91手机助手中,通过程序管理功能找到要卸载的应用,点击卸载按钮。 2. **模拟器内**: 进入模拟器的设置,找到应用列表,选择要卸载的应用并点击卸载。 3. **命令行卸载**: 使用`...

    android模拟器上应用程序的安装与卸载

    本文详细介绍了如何在Android模拟器上安装和卸载应用程序的过程。安装过程涉及到使用ADB工具通过命令行安装APK文件,而卸载则可以通过模拟器内置的设置菜单完成。这些步骤对于开发者来说非常重要,因为它们可以帮助...

    删除Android模拟器中的.apk文件

    ### 删除Android模拟器中的.apk文件 在进行Android应用开发时,经常需要在模拟器上安装、测试并卸载各种.apk文件。然而,并不是所有开发者都熟悉如何有效地执行这一操作。本文将详细介绍如何在Android模拟器中删除....

    emulator中添加和删除apk

    通过上述步骤,我们可以轻松地在Android模拟器上安装和卸载APK文件。这对于开发者来说是非常有用的技能,可以帮助我们更高效地进行应用测试和调试工作。同时,掌握这些基本操作也有助于更好地理解Android系统的运行...

    Android使用SDK方法详解

    #### 一、在Android模拟器上安装和卸载APK包 在Android开发过程中,经常需要在模拟器或真机上安装和卸载应用程序(APK包),以便测试和调试。这里详细介绍如何使用Android SDK中的`adb`工具来进行这些操作。 #####...

    Android模拟器安装APK文件

    ### Android模拟器安装APK文件 #### 一、安装APK文件到Android模拟器 在进行Android应用程序开发的过程中,...通过上述步骤,开发者可以轻松地在Android模拟器上安装、调试和测试APK文件,从而提高开发效率和质量。

    Android模拟器中安装apk的方法

    在Android开发过程中,有时我们需要在模拟器上测试应用程序,这就涉及到如何在Android模拟器中安装APK文件。本文将详细讲解这一过程,并提供两种方法。 首先,确保你已安装了Android SDK,因为APK的安装需要用到SDK...

    可以卸载系统APK的方法

    - 卸载APK:`adb shell pm uninstall -k --user 0 &lt;package_name&gt;` 注意,这里的`&lt;package_name&gt;`需要替换为实际的包名。 5. **批量处理脚本**:`rep_Home3.bat`文件很可能是一个批处理脚本,用于批量执行上述...

    android系统文件浏览器

    安装与卸载android模拟器上的软件,同时消除其图标 解法方法: 首先你的PC上需安装了android模拟器  安装apk文件  第一:把下载的apk文件放到android sdk的安装目录的子目录tools下,如我的是:E:android-sdk-...

    Python-自动卸载手机或模拟器中App的Python脚本

    这个“Python-自动卸载手机或模拟器中App的Python脚本”就是一个很好的例子,它允许开发者通过编写简单的Python代码来实现对手机或Android模拟器上应用程序的批量卸载,极大地简化了手动操作。 首先,我们要理解这...

Global site tag (gtag.js) - Google Analytics