本片博文主要解决在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. Eclipse中导入Android工程
  2. 怎么在android的XML文件里加入凝视
  3. Android利用setLayoutParams在代码中调整布局(Margin和居中)
  4. Android非Kotlin支持项目添加Kotlin代码时的注意点
  5. android工程字符串多语言翻译遗漏查找工具
  6. android 打开预览不同类型文件
  7. Android用代码实现EditText不可编辑
  8. Android中使用PULL方式解析XML文件深入介绍

随机推荐

  1. Performance Tips for Android’s ListVi
  2. android 数组数据绑定到listview
  3. Android.mk添加第三方jar包
  4. Android(安卓)Saving Data
  5. Android(安卓)ExpandableListView分组效
  6. android 可以拖动的圆形 进度条
  7. Android(安卓)Auto-IP support
  8. android websocket推送
  9. Android(安卓)获取手机应用信息
  10. OpenGL学习1