我必须添加哪些代码以及从何处获取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
答案 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以了解所有这些背后的逻辑。