java怎么运行_怎样启动JAVA?

展开全部

在Android中启动Java程序其实有很多种方式,现总结如下

一、在Android应用程序中e69da5e887aa62616964757a686964616f31333363373732发送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脚本文件如下:

fff5f136f39d185592b6f07d15d6b005.png

pm脚本文件如下:

e80a4711529c947be74ece0403fa8fa8.png

CLASSPATH指定了程序的位置,com.android.commands.pm.Pm则说明了程序的入口为com.android.commands.pm.Pm,即入口函数main()所在的类,"$@"就是传递给main()函数的参数,只是这里"$@"本身又是个shell传入的参数而已

总结:需要注意的是CLASSPATH中的文件必须是dalvik文件格式的,关于此的转换请参考《基本Dalvik VM调用》当然CLASSPATH中的文件可以是apk文件,只是apk中至少应该有个拥有main()入口函数的类。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值