Android的Dalvik虚拟机的一个小BUG

简介:

今日看一练习题,想运行一下验证个结果

原题

 
  1. int i=2;  
  2.      i=i++;  
  3.      int j=i++;  
  4.      System.out.println(i+"===onTouchEvent==="+j); 

比较简单,一看就是 i=3,j=2;

但在 Android的Dalvik虚拟机 上就不行

ECLIPSE没有报错

可是 编译的时候提示

[2009-08-11 14:56:44 - android_Links] 
trouble writing output: shouldn't happen
[2009-08-11 14:56:44 - android_Links] Conversion to Dalvik format failed with error 2

这导致程序无法运行!

在 百度上搜索 Conversion to Dalvik format failed with error 出了好多结果

进去一看 就2,3种方法,

1.是clean...

2.是调整SDK,

(大家都是转贴的比较多,原创的比较少啊!)

经过多次调整,

clean...     无效,

查看SDK 模拟器 也都是1.5的,

(看来他们的错误和我的是不一样了!不过这些转贴,的也都只是原封不动的转了,估计也都没验证!)

搞来搞去,只好把我的程序逐步排查,

结果 果然是代码有问题,

因为上边的测试是我加到 我的游戏 连连看 里的

这个程序 以前运行都没问题

不过,看 那道题的代码也没问题,

结果 还真是 这几行代码有问题了!

经研究 发现

1.

 
  1. i=i++;  
  2. int j=i++;  

这2行同时出现 编译不通过,

2.

 
  1. i=i++;  
  2. int j=++i; 

这2行同时出现 编译可以通过,

3.

 
  1. i=i++;  
  2. int j=++i + ++i; 

这2行同时出现 编译不通过,

根据

Conversion to Dalvik format failed with error 2

这句话的提示意思,猜想是

编译成 Dalvik 虚拟机的 字节码文件格式出错了!

以前看资料知道 Dalvik 是自己的字节码格式,没想到 这种在JAVA上 常见的代码

却给 Dalvik 判了出错!

看来 Dalvik要走的路还很长啊!

其他 ++X, X++之类的我就不实验了!

反正 一般我们写程序的时候 不要用太多,复杂 的 ++连用 就OK啦!

还是写清楚 简单些的好!



本文转自 kome2000 51CTO博客,原文链接:http://blog.51cto.com/kome2000/578689

相关文章
|
7月前
|
Android开发
【Bug】Android resource linking failed和error: failed linking references.
【Bug】Android resource linking failed和error: failed linking references.
|
缓存 安全 开发工具
Android 解决bug:Android studio 运行、编译项目时导致电脑死机
Android 解决bug:Android studio 运行、编译项目时导致电脑死机
936 0
|
Linux
远程访问不了虚拟机【bug】
远程访问不了虚拟机【bug】
73 0
|
存储 编解码 Android开发
如何使用 VMware 安装安卓虚拟机,如何配置虚拟机的网络和存储?
如何使用 VMware 安装安卓虚拟机,如何配置虚拟机的网络和存储?
1194 0
|
开发工具 Android开发 虚拟化
windows电脑安装 Android Studio 的时候提示“创建Android虚拟机或安装安卓模拟器失败”
windows电脑安装 Android Studio 的时候提示“创建Android虚拟机或安装安卓模拟器失败”
|
Android开发
Bug日志(四)——Android 防止多次点击(另解决多个列表子项点击)
在用户使用 应用的时候,经常会出现点击过快且多次点击同一控件的情况, 一方面这是因为应用或手机当前有些卡顿,网络卡啥的 另一方面也可能是由于很多应用并没有设置按钮点击时的 selector 或者其它按钮响应方式(例如点击按钮时按钮放大,常见于游戏),导致用户误认为没有点击到当前按钮。(比如使用selector再点击后更换背景颜色,图片等等)
|
XML Android开发 数据格式
Bug日志(二)-Android网路请求图片地址图片不显示
Bug日志(二)-Android网路请求图片地址图片不显示
|
Java 开发工具 Android开发
安卓逆向系列篇:Dalvik概念&破解实例(二)
安卓逆向系列篇:Dalvik概念&破解实例
185 0
|
Java API Android开发
安卓逆向系列篇:Dalvik概念&破解实例(一)
安卓逆向系列篇:Dalvik概念&破解实例
191 0
|
算法 Java Android开发
Android 以太网子网掩码长度 bug 修复
Android 以太网子网掩码长度 bug 修复
181 0