专栏首页飞雪无情的博客解决“Cannot merge new index xxx into a non-jumbo instruction”的问题

解决“Cannot merge new index xxx into a non-jumbo instruction”的问题

今天遇到Jenkins报告收到一个比较奇怪的问题,从日志上看,提示如下:

Cannot merge new index xxx into a non-jumbo instruction

xxx一般是一个整数,比如66345等,从这个提示看,和Dex方法超过64K的限制一样,应该是同一个问题。不过App已经解决了这个64K方法的问题,怎么还会提示呢。

从提上看,是一个non-jumbo,让我想到了Dex的jumbo模式,这是一个用来配置制定该Dex是不是一个巨大的Dex的。报错的日志里显示是一个模块,从这可以推断出基本的问题:该模块需要生成一个Dex放进AAR包里给App使用,现在这个Dex生成不了啦,提示太大,这个是根本原因,所以只要解决了这个就可以了。

那么以前为什么不会出现这个问题呢,我们从git提交的历史来看,发现昨天的需求新增了一个第三方包,导致该模块的方法变多,超过了限制,所以今天就有了这个错误的提示。。

既然知道了原因,那么就很好解决了。

使用Gradle构建的,在模块的build.gradle里配置:

android {
  dexOptions {
      jumboMode true
  }
}

如果是使用Eclipse+Ant构建的,在project.properties文件中增加如下配置:

dex.force.jumbo=true

就可以解决如上问题了。。

关于超过64K方法分Dex的解决办法可以参考官方的Configure Apps with Over 64K Methods这篇文章。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Go语言参数传递是传值还是传引用

    其实对于传值和传引用,是一个比较古老的话题,做研发的都有这个概念,但是可能不是非常清楚。对于我们做Go语言开发的来说,也想知道到底是什么传递。

    飞雪无情
  • 工具 | 常用工具镜像网站又更新了(Golang、Chrome、VsCode、NDK等)

    最近Golang,Android NDK、Chrome以及VSCode等都更新了新版,为了让大家更好的下载这些新版本的工具软件,特地对这些工具等进行了一次更新。

    飞雪无情
  • 工具 | 常用工具镜像网站又更新了(Golang、Chrome、VsCode、Android Studio等)

    最近Golang,Android NDK、Chrome以及VSCode等都更新了新版,为了让大家更好的下载这些新版本的工具软件,特地对这些工具等进行了一次更新。

    飞雪无情
  • 零基础html5网页开发#004 网站基本结构

    在上一期当中我们已经学过了html的入门以及的基本的代码写法。那么今天我们学习的这样一个网站基本结构,对于我们一个整体的网站的开发来说,应该显得是最为的基础。

    刘金玉编程
  • 一种简单的Failover机制

    在应用结构上有这样一个业务场景,机房里部署了多个物理数据库的Proxy无状态节点,业务端通过Proxy节点间接和存储DB交互。Proxy支持了分库分表的特性,管...

    老钱
  • 树莓派上运行RT-Thread并通过esp8266连接网络

    树莓派上使用网络也是一个非常重要的功能,有了网络之后,可以在树莓派上扩展的功能更加丰富了。本文主要是通过树莓派上接8266模块,利用rt-thread的AT网络...

    bigmagic
  • 有趣的算法(五) ——Dijkstra双栈四则运算

    有趣的算法(五)——Dijkstra双栈四则运算 (原创内容,转载请注明来源,谢谢) 一、概念 近期看到算法书上,提到dijkstra双栈的方法,实现输入一...

    用户1327360
  • 搭建Cloudreve云盘

    说到云盘,想来最初用到的其实是网吧的临时存储盘,临时存储盘其实就是网吧搭建的局域网云盘系统,可以通过网管软件进行访问。主要用途就是可以存储一下游戏存档,因为网吧...

    Melody132
  • 少啰嗦!一分钟带你读懂Java的NIO和经典IO的区别

    很多初涉网络编程的程序员,在研究Java NIO(即异步IO)和经典IO(也就是常说的阻塞式IO)的API时,很快就会发现一个问题:我什么时候应该使用经典IO,...

    JackJiang
  • 少啰嗦!一分钟带你读懂Java的NIO和经典IO的区别

    本文引用了“架构师社区”公众号的《史上讲的最好的Java NIO与IO的区别与应用》一文部分内容,感谢原作者的技术分享。

    JackJiang

扫码关注云+社区

领取腾讯云代金券