当前位置: 代码迷 >> 综合 >> Android:trouble writing output: Too many field references: 131000; max is 65536.
  详细解决方案

Android:trouble writing output: Too many field references: 131000; max is 65536.

热度:7   发布时间:2023-11-21 22:14:41.0

突破65536


错误信息:
trouble writing output:
Too many field references: 131000; max is 65536.
You may try using --multi-dex option

错误原因:
在gradle中implementation过多或过大

其中
数字65536是关键,Android平台的Java虚拟机Dalvik执行Dex程序时,使用的是short类型来索引DEX文件中的方法。这就意味着单个Dex文件可被引用的方法总数被限制为64x1024, 即65536。为突破这个限制,需要使用multidex来生成多个dex文件

方法:
1.修改模块级builde.gradle文件
加入: multiDexEnabled true

android {compileSdkVersion 21buildToolsVersion "21.1.0"defaultConfig {...minSdkVersion 14targetSdkVersion 21...// Enabling multidex support.multiDexEnabled true}...
}dependencies {compile 'com.android.support:multidex:1.0.0'
}

2.在manifest文件中,添加MultidexApplication Class的引用
加入: android:name=“android.support.multidex.MultiDexApplication”

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.android.multidex.myapplication"><application...android:name="android.support.multidex.MultiDexApplication">...</application>
</manifest>

另外:
详细ke参考链接: http://connorlin.github.io/2016/04/15/Android%E5%BA%94%E7%94%A8%E4%BD%BF%E7%94%A8Multidex%E7%AA%81%E7%A0%B464K%E6%96%B9%E6%B3%95%E6%95%B0%E9%99%90%E5%88%B6/

  相关解决方案