zoukankan      html  css  js  c++  java
  • Android工程方法数超过65535的解决办法

    • Error:Execution failed for task ':ttt:transformClassesWithDexForDebug'.
      com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

      很不幸,今天被我遇到了,集成了一个Udesk客服功能,导入它的moudle,里面乱七八糟导入了一大堆第三方。作为一个第三方客服,你这样真的好么?

    解决方案

    1. Gradle 配置:app的build.gradle中

        android {  
            defaultConfig {  
            applicationId "com.xxx.xxx"  
            minSdkVersion 14  
            targetSdkVersion 21  
      
            multiDexEnabled true  //加上这句话 
            }  
        }
    2. Gradle 配置:app的build.gradle中

        dependencies {  
            compile 'com.android.support:multidex:1.0.1'  
        }
    3. 自己的Application 类重写方法:

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

      也可以继承android.support.multidex.MultiDexApplication类,不用重写上面方法

    4. 如果你的应用中包含引用的lirary工程或moudle,需要将预编译设置为false:

       android {  
            // ...  
            dexOptions {  
                preDexLibraries = false  
            }  
       }
    5. 当运行时如果看到如下错误:

      UNEXPECTED TOP-LEVEL ERROR:
      java.lang.OutOfMemoryError: Java heap space

      在dexOptions中有一个字段用来增加java堆内存大小:

        android {  
            // ...  
            dexOptions {  
                javaMaxHeapSize "2g"  
            }  
        }
  • 相关阅读:
    过滤器判断请求参数中是否含有某一字段
    vscode开发vue项目实现pc端自适应_cssrem_rem_reset.scss,pc端媒体查询常用设置
    element_ui的datePicker修改样式
    TCP/IP 卷一 APR、RAPR、ICMP
    TCP/IP 卷一:协议(IP层)
    常见负载均衡策略
    TCP/IP 卷一:协议(链路层)
    TCP/IP 卷一:协议(概述)
    RokcetMQ
    Zookeeper集群
  • 原文地址:https://www.cnblogs.com/dongweiq/p/7115972.html
Copyright © 2011-2022 走看看