java怎么运行_怎样启动JAVA?「建议收藏」

java怎么运行_怎样启动JAVA?「建议收藏」展开全部在Android中启动Java程序其实有很多种方式,现总结如下一、在Android应用程序中e69da5e887aa62616964757a686964616f31333363373732发送Intent启动Android应用程序这个方式最简单,最常用。在此不在累述。关于Intent的更多内容请阅读《Intent技术简介》二、在shell控制台通过am命令发送Intent来启动Androi…

大家好,又见面了,我是你们的朋友全栈君。

展开全部

在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()入口函数的类。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156490.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MCP2515模块_mcp2515接收错误

    MCP2515模块_mcp2515接收错误1、在配置Linux编译选项时,开启相应的SPI选项,如下所示->DeviceDrivers->SPIsupportSPIsupport***SPIMasterControllerDrivers***-*-BitbangingSPImasterSamsungS3C24XXseriesSPI<>SamsungS3C24XXserie…

    2025年6月19日
    3
  • 什么是关系型数据库和非关系型数据库_常用的三种关系型数据库

    什么是关系型数据库和非关系型数据库_常用的三种关系型数据库关系型数据库又称为关系型数据库管理系统(RDBMS),它是利用数据概念实现对数据处理的算法,达到对数据及其快速的增删改查操作。既然被称为关系型数据库,那么它的关系在哪里体现呢?举一个例子吧。比如

    2022年8月2日
    6
  • 【Spark亚太研究院系列】Spark道路的真正的主人-第一章 构建Spark星团(第五步)(6)

    【Spark亚太研究院系列】Spark道路的真正的主人-第一章 构建Spark星团(第五步)(6)

    2022年1月10日
    37
  • WebRTC 系列文章 ICE服务器搭建 coturn[通俗易懂]

    WebRTC 系列文章 ICE服务器搭建 coturn[通俗易懂]WebRTC系列文章ICE服务器搭建服务器环境安装coturn安装coturn依赖软件克隆代码仓库安装coturn修改配置克隆一份配置文件修改配置项启动coturn检测coturn工作状态coturn是一个C++编写的开源ICE服务器,同时兼顾了STUN和TURN的功能。服务器环境CentOS7云服务器一台安装coturn安装coturn依赖软件yumi…

    2022年6月13日
    101
  • pac模式与全局模式哪个好_ppp模式的优缺点

    pac模式与全局模式哪个好_ppp模式的优缺点众所周知,传统有一大弊端,即:只能使用全局模式,这样情况下,虽然可以加速国外网站,但打开国内网站速度会变慢;加速度不但支持全局模式,同时也支持PAC模式(智能分流,绕过中国大陆),这样情况下,既可以加速国外网站,也不会影响国内网站打开速度!温馨提示:安卓手机客户端、IOS客户端、MAC客户端均可根据自己实际使用需求,自由切换【PAC模式】或者【全局模式】,具体如何切换可查看相应客户端设置教程;…

    2022年10月19日
    1
  • php 实现工厂模式 实例

    php 实现工厂模式 实例工厂模式:由工厂类根据参数来决定创建出哪一种产品类的实例工厂类是指包含了一个专门用来创建其他对象方法的类。根据传入参数进行选择返回具体类的实例。主要作用就是对象创建的封装、简化创建对象的操作。也就是调用工厂类的一个方法(传入参数)来得到需要的类<?php//定义一个抽象类abstractclassOperation{protected$numA=0;protected$numB=0;protected$result=0;.

    2022年7月25日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号