zoukankan      html  css  js  c++  java
  • 解决Error:Android Dex: com.android.dex.DexIndexOverflowException: Cannot merge new index 65918 into a

    错误:Error:Android Dex: com.android.dex.DexIndexOverflowException: Cannot merge new index 65918 into a non-jumbo instruction!

    例如以下图:


    直接原因是Java代码太多,jar包太多。

    谷歌官方文档已经有解决方式:http://developer.android.com/intl/zh-cn/tools/building/multidex.html

    点击打开链接


    eclipse的解决方式:在项目中的这个文件project.properties中加入一句话:dex.force.jumbo=true,如图:


    Android studio 解决方式,须要几个步骤:

    第一步,加入 multiDexEnabled = true,如图:


    第二步。加入依赖于你的build.gradle支持MultiDex库。如图:


    第三步分3个情况,

    假设你没有创建自己的Application 类,在你的清单文件AndroidManifest.xml中配置android.support.multidex.MultiDexApplication就能够了。


    android:name="android.support.multidex.MultiDexApplication" 


    假设你有自己的Application类了。让它继承 android.support.multidex.MultiDexApplication而不是android.app.Application
    假设你的Application继承了其它的类,而且你不想改变或者没办法改变。依照以下的方法重写attachBaseContext()。

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }


    假设没有第二和第三步。可能有些手机执行时会报错,如图:



    好了,又一次编译。能够通过了,又能够愉快的玩耍了……


  • 相关阅读:
    Andrew Ng
    Matlab 常用语法速记 1
    jQuery 中的常用函数
    JS 删除数组中指定的某个元素的方法
    layer 插件 在子页面关闭自身的方法
    U方法
    读取配置和动态配置(C方法)
    TP框架控制器和对应方法创建
    ThinkPHP基础(1)
    利用ThinkPHP做项目步骤
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7341629.html
Copyright © 2011-2022 走看看