如何在Android中启动JAVA程序

如题所述

  在Android中启动JAVA程序其实有很多种方式,现总结如下
  一、在Android应用程序中发送Intent启动Android应用程序
  这个方式最简单,最常用。在此不在累述。关于Intent的更多内容请阅读《Intent技术简介》
  二、在shell控制台通过am命令发送Intent来启动Android应用程序
  在Android的shell控制台通过am命令发送Intent来启动Android应用程序
  关于此的详细内容请参考《Android命令am详解》
  三、在shell控制台直接通过davlikvm命令启动一个JAVA程序。
  该方式有个天生的缺点,即在其中,很多Android的JNI无法调用。因为Android的很多JNI其实是需要手动注册的。
  关于请参考《基本Dalvik VM调用》
  四、在shell控制台直接通过运行app_process程序启动一个JAVA程序
  在app_process程序中,他会对Android的JNI进行手动注册的,能很好的使用Android的API,因此通过运行app_process程序启动一个JAVA程序,是一个比较完美的方式。app_process程序是一个C程序,它的源码位于frameworks\base\cmds\app_process。
  关于它的使用请参考《Android命令am详解》以及shell脚本frameworks\base\cmds\am\am和frameworks\base\cmds\pm\pm
  am脚本文件如下:
  # Script to start "am" on the device, which has a very rudimentary# shell.#base=/systemexport CLASSPATH=$base/framework/am.jarexec app_process $base/bin com.android.commands.am.Am "$@"pm脚本文件如下:
  # Script to start "pm" on the device, which has a very rudimentary# shell.#base=/systemexport CLASSPATH=$base/framework/pm.jarexec app_process $base/bin com.android.commands.pm.Pm "$@"CLASSPATH指定了你的程序的位置,com.android.commands.pm.Pm则说明了程序的入口为com.android.commands.pm.Pm,即入口函数main()所在的类,"$@"就是传递给main()函数的参数,只是这里"$@"本身又是个shell传入的参数而已
  需要注意的是CLASSPATH中的文件必须是dalvik文件格式的,关于此的转换请参考《基本Dalvik VM调用》当然CLASSPATH中的文件可以是apk文件,只是你的apk中至少应该有个拥有main()入口函数的类。
转载
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-05-21
Android作为一个基于Linux的手机操作系统,对于各种应用程序的支持是其最大的特点。也是开发人员需要关注的地方。我们在这里就为大家详细介绍一下有关Android启动Java程序的具体应用技巧,以方便大家对这一操作系统功能的解读。

首先进入shell

C:\Documents and Settings\mawenjian>adb shell
看一下命令的帮助

# am -help
am -help
Error: Unknown command: -help
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>
好了,试一下启动浏览器

# am start -n com.google.android.browser/
com.google.android.browser.BrowserActivity
am start -n com.google.android.browser/com.google.
android.browser.BrowserActivity
Starting: Intent { comp={com.google.android.browser/
com.google.android.browser.BrowserActivity} }
ok,成功了

试试下面的命令吧:

# am start -a android.intent.action.VIEW -d
http://mwjian.javaeye.com
am start -a android.intent.action.VIEW -d
http://mwjian.javaeye.com
Starting: Intent { action=android.intent.action.VIEW
data=http://mwjian.javaeye.com }
# am start -a android.intent.action.CALL -d tel:88888888
am start -a android.intent.action.CALL -d tel:88888888
Starting: Intent { action=android.intent.action.CALL
data=tel:88888888 }
# am start -a android.intent.action.ALL_APPS
am start -a android.intent.action.ALL_APPS
Starting: Intent { action=android.intent.action.ALL_APPS }
# am start -a android.intent.action.VIEW geo:0,0?q=shanghai
am start -a android.intent.action.VIEW geo:0,0?q=shanghai
Starting: Intent { action=android.intent.action.VIEW
data=geo:0,0?q=shanghai }

如何在Android中启动JAVA程序
二、在shell控制台通过am命令发送Intent来启动Android应用程序 在Android的shell控制台通过am命令发送Intent来启动Android应用程序 关于此的详细内容请参考《Android命令am详解》三、在shell控制台直接通过davlikvm命令启动一个JAVA程序。该方式有个天生的缺点,即在其中,很多Android的JNI无法调用。因为Android的...

如何在安卓系统运行java程序?
1.首先在虚拟机上运行一次,然后打开你的源代码在bin文件下有个apk文件把它拿出来装到你手机上就可以了。2或你以后可以直接用真机代替虚拟机搞开发,可以直接连接数据线到电脑,(要有驱动,如不知道怎么下驱动,可以下载91手机助手或豌豆荚帮你自动安装),然后你在Eclipse下点击运行你的程序是可以在Tar...

如何在安卓手机里运行JAVA程序?
在网站上搜索一个APK格式的JAVA虚拟机,下载安装程序后安装在手机上,安装后手机上“所有程序”中增加此程序的图标,如下图(安装方法与安装其他程序一样,通过手机浏览器下载安装或通过电脑下载安装包)先下载好自己需要的JAVA安装包放在储存卡上,进入手机已安装好的“JAVA“,再点击菜单键(手机下方三条...

android系统如何使用Java
下载一个JAVA虚拟机,安装完后用91手机助手的文件管理功能,把想要用的JAVA文件复制到手机的SDCARD这个文件夹下。运行桌面上的Java虚拟机,按MENU键调出菜单,选择存储卡,软件会搜索到你刚刚放到手机里的JAVA文件,点击进行安装。进度条跑完后进入sdcard文件夹就会看到JAVA软件了,点击运行。这些都是从 91...

android studio 怎么运行java
方法\/步骤 1、新建一个project,或者如果已经有project的话,那就直接新建一个module.注意选择Java library,然后下一步 2、输入module的一些信息。点击finish 3、在左侧找到build.gradle,双击打开,参照图中修改一下配置 4、编写java代码测试下

Android studio怎么新建并运行普通的java类,就是那种带main方法的_百度...
如果不添加配置直接在Android的项目中创建一个带有main函数的类是无法当做Java Application运行的。当在写Android的应用的时候需要测试一下和Android本身无关的代码,只是纯Java代码而已,完全用不着开启Android模拟器,如果想直接运行Java代码,是会报错。后来成这么个错:Error occurred during initialization of...

如何在Android中编写java代码?
1、下载代码:在GitHub上找到所需的项目,选择“Cloneordownload”按钮,可以选择“DownloadZIP”直接下载压缩包,或者使用Git工具进行下载。解压代码:将下载的ZIP压缩包解压到本地指定的目录中。2、安装好之后搜索GitHub到达官网在上面搜索12306。登录账号之后点击这里,在点击zip下载压缩文件。解压这个文件之后...

按下电源键后竟然发生了这一幕 —— Android 系统启动流程分析
zygote进程作为Java进程的始祖,通过解析init.rc文件加载系统并启动Java环境,是其他Java进程的基础。system_server进程启动后,承载了框架层核心业务,包括引导服务、核心服务等,是系统高效运行的关键。Launcher作为Android系统的桌面,通过启动带有Intent.CATEGORY_HOME标签的Activity呈现所有应用图标,供用户点击...

怎样启动JAVA?
1、首先我们打开myeclipse,点击左上角的File。2、接着选择New,选择Java Project。3、在创建java项目的页面,首先给项目命名,点击next。4、一般在这里没有什么要设置的,点击下面的Finish。5、项目创建完毕之后,我们需要创建类文件,也就是Class文件,在源文件夹src上右击,选择New,选择Class。6、然后...

电脑上的Java开发出来的软件,能在手机上运行吗
当然可以,java本来就是跨平台的。只是调用的本地接口不一样,在win上调用的是win的api,在Android上用的是android的。所以界面的显示会有差异。

相似回答