博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android系统执行Java jar程序 -- dalvik运行dex Java工程
阅读量:6574 次
发布时间:2019-06-24

本文共 1219 字,大约阅读时间需要 4 分钟。

本文仅针对纯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:\CloudFiles\project\TestJar\testlib\src\META-INF\MANIFEST.MF)

打包并执行

1、选择build -> Build Artifacts -> 弹窗内选择build 即开始打jar包,jar包输出路径为 \out\artifacts\moduleName 

2、运行jar包时会通过指定的java类执行,执行命令如下:

java -jar  E:\test.jar
Android 执行

在Android平台执行Java程序需要依赖dalvik虚拟机,因此需要将jar包转换为对应的字节码文件,操作步骤如下:

1、生成java jar包 同Pc执行
3、java jar包转dex包,执行如下命令

dx --dex --output=test.dex E:\test.jar

4、连接Android手机,并将dex执行程序推入Android设备路径下:

adb push E:\test.dex /data/local/tmp/

5、通过dalvik命令执行dex程序,程序通过指定的入口Java类的main方法开始执行

//dalvikvm 命令启动jar包在Android4.4版本下解析dex时失败dalvikvm -cp  /data/local/tmp/test.dex com.qihoo.trace.TestMain

转载于:https://www.cnblogs.com/walker-world/p/9548042.html

你可能感兴趣的文章
【旅行】1月17日镇江自驾游
查看>>
MySQL军规
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
js进阶 14-6 $.ajax()方法如何使用
查看>>
P1174 打砖块
查看>>
java常见面试题及答案 1-10(基础篇)
查看>>
编写程序,输入一个N,返回角谷变换(达到1所需)的次数
查看>>
js的一些注意点
查看>>
PowerShell 方式部署Sharepoint Solution
查看>>
Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
查看>>
文件 md5 查看 命令
查看>>
数据结构实验之栈三:后缀式求值
查看>>
HDU4026 Unlock the Cell Phone [状态压缩DP]
查看>>
java中文转Unicode
查看>>
JAVA操作数据库调试经验
查看>>
Windows内存管理
查看>>
HDU 6034 - Balala Power! | 2017 Multi-University Training Contest 1
查看>>
VS2010 代码自动对齐 快捷键
查看>>
10692 XYM-入门之道
查看>>
Linux+Apache+PHP+MySQL服务器环境(CentOS篇)
查看>>