【编译】:
在Eclipse中,编译好的android project,在该project的bin目录下会自动生成一个apk文件,与J2ME不同,无需手动打包。只要代码有改动就自动build,build出来的apk是签过名的,也可以在project右键菜单的Andoid Tools菜单下export签名的或未签名的apk。
或者project->clean->选中需要编译的项目->OK
【安装】:
首先,将模拟器执行起来,直到正式进入系统。
接下来,打开一个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]
分享到:
相关推荐
mysql数据库的安装与卸载
linux编译环境构建时常会涉及软件包安装卸载删除,有急需可以下载参考一下。
flex 卸载flash 安装编译版10flash flex 卸载flash 安装编译版10flash
内附apk 实现说明 是在linx系统环境下 源码下MM 编译实现方式
linux下 mysql的安装和卸载 二进制版本的mysql是已经编译好的,无需 configure ,make make install 等步骤,只需配置一 下即可使用,卸载也方便,直接删除即可;现在以mysql-standard-4.1.13-pc-linux-gnu-i686....
zabbix脚本安装,卸载,重启,打开或者关闭防火墙脚本~
linux下mysql的安装卸载和qt-x11的mysql驱动编译
linux下mysql的安装卸载和qt-x11的mysql驱动编译.docxlinux下mysql的安装卸载和qt-x11的mysql驱动编译.docx
linux下mysql的安装卸载和qt-x11的mysql驱动编译.pdflinux下mysql的安装卸载和qt-x11的mysql驱动编译.pdf
前段时间做了一个批量安装卸载应用程序的小应用,由于安装卸载应用程序的部分API是隐藏的,所以必须在ubuntu下下载Android系统源码,并编译之后使用MM命令编译生成APK文件,其实也难。思路是这样的,在XX/packages/...
使用Android NDK编译Android平台的eXosip库,有静态库和动态库。
方法1:【使用调用接口方法,由于安装卸载应用程序的部分API是隐藏的,所以必须下载Android系统源码,在源码下开发并编译之后使用MM命令编译生成APK文件】 import java.io.File; import android.app.Activity; ...
mac下编译android源代码
Android反编译软件 安卓反编译 Android APK反编译详解,有详细说明,简单易学!
利用ndk编译android的sh文件,利用该sh文件,能够正确编译出so文件
Android 模块单独编译详解 在 Android 源代码工程中,单独编译某个模块是一件很有必要的事情。尤其是在我们修改了某个模块或新增了自己的模块时,重新编译整个 Android 系统镜像 system.img 是非常耗时的。这时,...
本次实验环境为Ubuntu10.04、Android版本为2.1,采用的是ARM9 Mini6410开发板自带的Android源码
在不同操作系统下编译Android源码需要更改一些Android源码的配置项,脚本用于自动化更改配置项.zip 在不同操作系统下编译Android源码需要更改一些Android源码的配置项,脚本用于自动化更改配置项.zip 在不同操作系统...
ubuntu编译android环境配置脚本,具体使用方法可以参考我的博文:http://blog.csdn.net/brian512/article/details/43195105