在哪里添加64K代码和哪里?

时间:2016-06-01 09:05:47

标签: android

我必须添加哪些代码以及从何处获取64K方法?

我尝试建立已签名的APK,但它给了我整个时间的问题!

错误:.dex文件中的方法引用数不能超过64K。

  

错误:任务执行失败   “:MYAPP:transformClassesWithDexForRelease”。 >   com.android.build.api.transform.TransformException:   com.android.ide.common.process.ProcessException:   java.util.concurrent.ExecutionException:   java.lang.UnsupportedOperationException

2 个答案:

答案 0 :(得分:0)

如果我们的应用程序超过64K方法,那么我们需要在代码中启用multiDex。

在build.gradle中添加依赖项

    dependencies 
    {
      compile 'com.android.support:multidex:1.0.0'
    }

在build.gradle中启用multidex,如下所示

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.0"

    defaultConfig {
        ...
        minSdkVersion 14
        targetSdkVersion 21
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

现在同步您的代码并运行它然后它将起作用。

答案 1 :(得分:0)

KUMAR的回答非常接近,但没有涵盖所有细节。

首先将必要的配置添加到app模块的build.gradle中:

  

应用程序/的build.gradle

android {
   defaultConfig {
      multiDexEnabled true
   }
}

dependencies 
{
   compile 'com.android.support:multidex:1.0.1'
}

在第二步中,您可以根据需要使用两条路径。

一个。您没有自定义应用程序类。因此,您需要将Multidex支持库中的MultiDexApplication类添加到清单中的application元素:

  

的AndroidManifest.xml

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

OR

湾您有一个自定义应用程序类。所以你需要让它扩展MultiDexApplication类:

  

MyApplication.java

public class MyApplication extends MultiDexApplication {

}
  

的AndroidManifest.xml

<application
    android:name="MyApplication"

您应该准备好超过64K方法限制。

您可以通过multidex读取this tutorial以了解所有这些背后的逻辑。