Android系统执行Java jar程序 -- dalvik运行dex Java工程

别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述Android系统执行Java jar程序 -- dalvik运行dex Java工程相关的知识,希望能为你提供帮助。
本文仅针对纯java工程执行进行诠释,一般在PC平台作为jar包形式存在,在android平台则以dex包形式存在。
Java属于高级程序语言,Java程序需要运行在特定的虚拟机中,虚拟机将Java字节码转换成对应的机器指令进行执行。不同平台具有不同的虚拟机对应各自的机器指令。PC端一般使用JVM虚拟机,Android端使用dalvik虚拟机。
需要配置环境:

  1. Java JDK开发环境
  2. idea开发工具
  3. Android SDK开发环境
  4. Android build-tools 环境变量(随意指定一个版本即可)
JVM于dalvik
JVM:Pc平台java虚拟机,为java应用执行提供执行环境。
dalvik:Android平台Java虚拟机,为java应用提供运行环境,区别于jvm字节码。
Java程序执行
PC执行 idea配置可执行jar包1、创建Java工程
2、idea选择 file-> project structure -> Artifacts() --> 点击+ 后选择JAR -> from module with dependencies
3、配置编译的module、指定入口类(必须覆写main方法)
4、修改Directory for META-INF/MAINFEST.MF:去除其中的main (例如:E:CloudFilesprojectTestJar estlibsrcMETA-INFMANIFEST.MF)
打包并执行1、选择build -> Build Artifacts -> 弹窗内选择build 即开始打jar包,jar包输出路径为 outartifactsmoduleName 
2、运行jar包时会通过指定的java类执行,执行命令如下:
java -jarE: est.jar

Android 执行在Android平台执行Java程序需要依赖dalvik虚拟机,因此需要将jar包转换为对应的字节码文件,操作步骤如下:
1、生成java jar包 同Pc执行
3、java jar包转dex包,执行如下命令
dx --dex --output=test.dex E: est.jar

4、连接Android手机,并将dex执行程序推入Android设备路径下:
adb push E: est.dex /data/local/tmp/

【Android系统执行Java jar程序 -- dalvik运行dex Java工程】5、通过dalvik命令执行dex程序,程序通过指定的入口Java类的main方法开始执行
dalvikvm -cp/data/local/tmp/test.dex com.qihoo.trace.TestMain












    推荐阅读