Android Dalvikvm的使用
来源:互联网 发布:美国零售销售数据公布 编辑:程序博客网 时间:2024/05/19 14:51
当java程序运行时,都是由一个虚拟机来解释Java的字节码,它将这些字节码翻译成本地CPU的指令,然后执行。对于Java程序而言,负责解释并执行的就是一个虚拟机,而对于Linux而言,这个虚拟机只是运行于其上的一个应用进程,跟一个Hello World没有本质区别。所以启动一个虚拟机的方法就跟启动任何一个可执行程序的方法是相同的。就是在命令行输入可执行程序的名称,并在参数中指定要执行的Java类。 dalivkvm的作用就是创建一个虚拟机并执行指定参数中的java类,下面用一个例子来说明dalivkvm的使用方法。1.新建Dalvikvm.java,内容如下:
public class Dalvikvm { public static void main(String[] args) { int a = 3; int b = 7; System.out.println(a + " + " + b + "=" + add(a, b)); } private static int add(int a, int b) { return a + b; }}
2.编译该文件,生成.jar,如下命令所示:
//生成Dalvikvm.clssjavac Dalvikvm.java //生成test.jardx --dex --output=test.jar Dalvikvm.class
dx工具位于SDK的build-tools里面,作用是将.class转换为dex文件,因为Dalivk虚拟机所执行的程序不是标准的jar文件,而是将jar文件通过特别转换以提高执行效率,而转换后的文件就是dex文件。3.将生成的test.jar push到Android手机的/data/app 目录下,并且用dalvikvm执行该jar
adb push test.jar /data/appadb shellcd /data/appdalvikvm -cp test.jar Dalvikvm
4.查看输出结果
关于/data/app目录是每个应用程序安装后都会在这个目录下创建一个apk副本,apk运行的时候读取的一些应用内资源文件就是从这个apk文件里面获取的,对于本demo不一定要放在/data/app下,其他path下也可以。
总结一下dalvikvm的作用就是创建一个虚拟机并执行指定参数中的java类。dvz的作用也是创建一个虚拟机并执行指定参数中的java类,区别在于该进程中已经预装了Framework的大部分资源。
0 0
- Android Dalvikvm的使用
- Android 使用dalvikvm 执行字节码
- Android系统架构、JVM和DalvikVM的区别
- Android系统架构、JVM和DalvikVM的区别
- dalvikvm
- Android Dalvikvm 内存管理理解
- Android SDK 升级到ADT 17 以上版本出现dalvikvm: Unable to resolve superclass的问题
- 在Android Studio 运行的时候报E/dalvikvm: Could not find class 'xxx',
- 在Android Studio 运行的时候报E/dalvikvm: Could not find class 'xxx',
- Android开发中,在Logcat中一直不断地显示Tag为dalvikvm的log
- 在Android Studio 运行的时候报dalvikvm: Could not find class 'xxx',
- Android DalvikVM threads and ANR dump.
- Android查找dalvikvm疯狂调用GC原因
- DalvikVM优化的核心-解释器
- DalvikVM优化的核心-解释器
- dalvikvm虚拟机弹出的几种错误
- Android:Google Maps W/dalvikvm: Unable to resolve superclass of
- Dalvikvm:在Android平台上执行.class文件
- MAC下安装MyEclipse、配置tomcat
- Nginx安装与使用
- android - studio版本控制文件颜色代表意思
- 将图像绘制成3维立体散点图
- 链表实现的线性表
- Android Dalvikvm的使用
- Python系列之 - 初识Python
- WebGoat实验环境搭建 - 2016.01.01
- HDU2199 Can you solve this equation?(二分)
- Maven学习系列--08一个HelloWorld的web应用
- java实现人民币大写
- 函数常识
- PyCharm的注册与使用
- 106_Prime 最小生成树