无法执行dex:方法ID不在[0,0xffff]中:65536

无法执行dex:方法ID不在[0,0xffff]中:65536,第1张

无法执行dex:方法ID不在[0,0xffff]中:65536

更新3(11/3/2014)Google终于发布了官方说明。

适用于Android的Update 2(10/31/2014) Gradle插件v0.14.0添加了对multi-dex的支持。要启用,只需在build.gradle中声明它即可:

android {   defaultConfig {      ...      multiDexEnabled  true   }}

如果您的应用程序支持5.0之前的Android(也就是说,如果您的minSdkVersion年龄为20或更低),则还必须动态修补应用程序ClassLoader,以便它能够从辅助dexes加载类。幸运的是,有一个库可以为您完成此任务。将其添加到应用程序的依赖项中:

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

您需要尽快调用ClassLoader补丁代码。

MultiDexApplication
该课程的文档提出了三种实现方法(选择其中一种,最方便的一种):

1-

MultiDexApplication
AndroidManifest.xml
中将类声明为应用程序:

<?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>

2-让您的

Application
类扩展
MultiDexApplication
类:

public class MyApplication extends MultiDexApplication { .. }

3-

MultiDex#install
通过您的
Application#attachbaseContext
方法进行调用:

public class MyApplication {    protected void attachbaseContext(Context base) {        super.attachbaseContext(base);        MultiDex.install(this);        ....    }    ....}

更新1(10/17/2014):
如预期的那样,Android支持库的修订版21中提供了对multidex的支持。您可以在/ sdk / extras / android / support / multidex / library / libs文件夹中找到android-support-multidex.jar。

Multi-dex支持解决了这个问题。dx 1.8已经允许生成多个dex文件。
Android L将原生支持多dex,并且支持库的下一个版本将涵盖API 4之前的较早版本。

Anwar Ghuloum 在此 Android Developers Backstage播客集中对此进行了说明。我已经发布了相关部分的成绩单(和一般的多dex解释)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4897999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存