详细解决方案原文地址 https://developer.android.com/intl/zh-cn/tools/building/multidex.html,有兴趣的可以研究。
今天编译一个项目出现一个大家在开发过程中很常见的问题:
Error:The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
1 、开发环境是eclipse时的解决方案:
在project.properties中添加一行
<pre name="code" class="java">dex.disable.merger = true
2、在android studio中的解决方案,按照官方文档来看十分详细,但是有很多对于没有耐心的人(包括我),我这里直接提供一个解决方案:
在app的 build.gradle 中
(1)在dependencies 中添加 compile ‘com.android.support:multidex:1.0.0‘
(2)在 defaultConfig 中添加multiDexEnabled true
as shown in the following code snippet:
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
(3)在 AndroidManifest.xml 中的 application 标签中添加
<?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>
Note: If your app uses extends the Application
class, you can override the attachBaseContext() method and call
MultiDex.install(this) to enable multidex. For more information, see the MultiDexApplication
reference documentation.
以上解决方案本人亲测可以用,希望能帮到大家!