本片博文主要解决在Eclipse上开发Android遇到的两个问题。

今天在引入一个同事给我的Android工程后,编译时出现两个错误,分别是dex.force.jumbo和Java heap space的问题,具体如下。

1、dex.force.jumbo的问题,详情如下:
Unable to execute dex: Cannot merge new index 66460 into a non-jumbo instruction!
Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 66460 into a non-jumbo instruction!

解决方法是在project.properties文件中添加dex.force.jumbo=true,然后清理工程,并重新编译。

这个问题主要是项目在升级ADT和SDK Tool之后的Eclipse中编译时出现,它是在将jar文件转换成dex文件的时候出错的。

遗留问题是:新的ADT和SDK Tool在将jar转化成dex的时候,可能会合并类的代码,这将导致巨大的类;类中的每一个方法都分配有一个id,字节码中以id标识和调用方法;早期的Dalvik VM内部使用short类型变量来标识方法的id,最大 值限制在65535;综合上述因素,代码在安装的时候,在某些机器上不能通过验证,所以安装失败。
遗留问题解决:删掉没有实际使用的代码,或者使用ProGuard处理代码(可以减小代码体积)。

2、Java heap space的问题,详情如下:
Unable to execute dex: Java heap space
Java heap space
解决方法一:增加内存,吧Eclipse目录下的eclipise.ini文件内容改为如下:
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120913-144807
-product
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
512m
-showsplash
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx1024m
-XX:MaxPermSize=256m
-Declipse.buildId=v22.0.1-685705

然后关闭eclipse,在cmd中执行eclipse -clean,清理工程,再编译运行。

解决方法二:在添加jar包的时候,使用引用的方式,右键工程->build path->add Library->user Library->user Libraries->new->随便取个名字->add JARs->ok。如果你要添加现成的jar包,例如classes.jar,则右键工程->buildpath->add external archives

更多相关文章

  1. Android非Kotlin支持项目添加Kotlin代码时的注意点
  2. android 设置透明度 标题栏 窗体透明
  3. Android(安卓)NDK移植libiconv和libxml2
  4. Android(安卓)本地代码中的LIKELY和UNLIKELY宏
  5. Android利用setLayoutParams在代码中调整布局(Margin和居中)
  6. 我的Android进阶之旅------>Android百度地图定位SDK功能学习
  7. android通用文件操作
  8. Conversion to Dalvik format failed: Unable to execute dex: n
  9. Eclipse中导入Android工程

随机推荐

  1. 为什么一定要和靠谱的人在一起???
  2. Django 博客单元测试:测试评论应用
  3. 面试被问尾递归优化知道怎么做吗?
  4. 万能码从基本到不断完善(安全扫码专业委员
  5. Element Plus组件-按钮、图标、ColorPick
  6. 咋嘞?你的IDEA过期了吧!加个Jar包就破解了,
  7. 来吧,一文彻底搞懂Java中的Comparable和Co
  8. 你知道 JavaScript Symbol 类型是什么,怎
  9. Python的set集合详解
  10. Python的装饰器原来是这么用的