Android 65536

在Android开发过程中,业务的增加会导致项目越来大。此时,很容易遇到65536异常。原因在于——在Android中,一个Dex中存储方法id用的是short类型数据,所以我们的方法总数不能超过64K

  • 解决方案

    1. 在主module的build中加入multiDexEnabled true
           android {
              ...
               defaultConfig {
                  ...
                   multiDexEnabled true//transformDexArchiveWithExternalLibsDexMergerForDebug'
                  ...
               }
              ...
           }
    
    1. 在主module的build中加入dexOptions{}
           android {
              ...
               dexOptions {
                   jumboMode true
                   javaMaxHeapSize "4g"
               }
              ...
           }
    
    1. 在主module的build中依赖com.android.support:multidex:version
           dependencies {
              ...
               implementation 'com.android.support:multidex:1.0.3'
               ...
               }
    
    1. 修改Application
           public class YouApplication extends MultiDexApplication {
             ...
           }
           ////////////////////////////////////或者
           public class YouApplication extends Application {
              ...
              @Override
               protected void attachBaseContext(Context base) {
                   super.attachBaseContext(base);
                   MultiDex.install(this);
               }
               ...
           } 
    

更多内容 XiMiMax — http://www.ximimax.cn/

    原文作者:XiMiMax
    原文地址: https://www.jianshu.com/p/221bb012097b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞