但使书种多,会有岁稔时。这篇文章主要讲述如何在Android中启动JAVA程序相关的知识,希望能为你提供帮助。
本人博客原文:http://hubingforever.blog.163.com/blog/static/17104057920126166411775/
在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程序,它的源码位于frameworksasecmdsapp_process。
关于它的使用请参考《Android命令am详解》以及shell脚本frameworksasecmdsamam和frameworksasecmdspmpm
am脚本文件如下:
# Script to start "am" on the device, which has a very rudimentary # shell. # base=/system export CLASSPATH=$base/framework/am.jar exec app_process $base/bin com.android.commands.am.Am "[email protected]"
pm脚本文件如下:
# Script to start "pm" on the device, which has a very rudimentary # shell. # base=/system export CLASSPATH=$base/framework/pm.jar exec app_process $base/bin com.android.commands.pm.Pm "[email protected]"
CLASSPATH指定了你的程序的位置,com.android.commands.pm.Pm则说明了程序的入口为com.android.commands.pm.Pm,即入口函数main()所在的类,"[email protected]"就是传递给main()函数的参数,只是这里"[email protected]"本身又是个shell传入的参数而已 需要注意的是CLASSPATH中的文件必须是dalvik文件格式的,关于此的转换请参考《基本Dalvik VM调用》当然CLASSPATH中的文件可以是apk文件,只是你的apk中至少应该有个拥有main()入口函数的类。
【如何在Android中启动JAVA程序】再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net
推荐阅读
- uni-app开发踩坑记录
- Android Studio安装教程
- Android远程桌面助手(B1413)
- Java for Android 学习第一周
- Vue2.5 开发去哪儿网App
- Win10需要安装vc运行库吗?win10系统是否自带vc++运行库?
- Win10关闭自定义缩放并注销怎样恢复?
- Win10开始菜单右键没有控制面板怎样办?
- Win10“以快捷方式安装字体”后无法显示文字怎样办?