最近我读到了有关Dalvik65K方法限制的信息。我了解方法调用列表只能调用前65536个方法引用。为了解决这个问题,我们有很多解决方案。其中之一是multidexing,我们使用android的支持库将.dex文件拆分为多个类[classes.dex,classes1.dex...]。我不明白的是,Android应用程序由于这种多索引处理而遭受了哪些缺点,以及我们为什么要付出大量努力来最小化引用方法的数量。在我的理解中,为了减少方法数量,我必须减少模块化,这使得我的代码可读性降低,除了剥离第三方库的代码所花费的小时数之外。减少方法计数值得吗? 最佳答案
我正在尝试新的MultiDexSupport在我的应用程序上,到目前为止我已经成功地编译了我的应用程序,但是在运行它时,我得到了以下异常:java.lang.RuntimeException:Unabletoinstantiateapplicationandroid.support.multidex.MultiDexApplication:java.lang.ClassNotFoundException:Didn'tfindclass"android.support.multidex.MultiDexApplication"onpath:DexPathList[[zipfile"/da
我正在尝试新的MultiDexSupport在我的应用程序上,到目前为止我已经成功地编译了我的应用程序,但是在运行它时,我得到了以下异常:java.lang.RuntimeException:Unabletoinstantiateapplicationandroid.support.multidex.MultiDexApplication:java.lang.ClassNotFoundException:Didn'tfindclass"android.support.multidex.MultiDexApplication"onpath:DexPathList[[zipfile"/da
今天我遇到了这样的错误:Error:Thenumberofmethodreferencesina.dexfilecannotexceed64K.Learnhowtoresolvethisissueathttps://developer.android.com/tools/building/multidex.html我在我的build.gradle中写:multiDexEnabledtrue和dependencies{compile'com.android.support:multidex:1.0.1'}在我的list中:android:name="android.support.mul
我有一个带有几个库的应用程序,它达到了65536方法计数的红线。我成功地将应用设置为multidexAPK。为了优化大小,我决定使用Proguard,因为我只使用了Guava和common.java.lang的一些功能,而这些库带来了它们的整个家族和他们在一起。在Proguard工作之后,我的应用程序引用了~45Kmethods我经常读到multidex应用程序可能会不时崩溃而且由于second-dex运行时加载,这需要时间。4和5是真的吗?然后我只是尝试不使用mutidex,因为我的final方法计数是为此,我只是将gradle参数multiDexEnabled设置为false还有什
有人知道为什么我不能使用MultiDexTestRunner吗?我的build.gradle包含:android{...defaultConfig{...multiDexEnabledtruetestInstrumentationRunner'com.android.test.runner.MultiDexTestRunner'}dependencies{...//Testing-onlydependenciesandroidTestCompile'com.android.support.test:runner:0.4.1'androidTestCompile'com.android.
我试图在API16设备上使用AndroidStudio3.0运行需要MultiDex的应用程序,当应用程序最终尝试启动时,它崩溃了。其他低API(例如:17、18、19)也是如此但是,当我尝试使用AndroidStudio3.1(测试版)运行应用程序时,没有发生崩溃。有什么方法可以修复此崩溃?FATALEXCEPTION:mainjava.lang.ExceptionInInitializerErroratandroid.support.multidex.MultiDexApplication.(MultiDexApplication.java:35)atMY_APP_PATH.MY_
我的android项目有问题。我最近从较低版本升级,然后用Linux重新启动了我的操作系统。我的项目运行良好。但是,现在我已经编译了,它显示无法合并dex。我试过:启用;构建gradle中的multiDexEnabledtrue选项,并尽一切可能。所以,这是运行堆栈跟踪后我的控制台日志,我仍然无法弄清楚出了什么问题。谁能帮帮我?任何帮助将非常感激。我已经发布了我的应用程序构建gradle和下面的错误applyplugin:'com.android.application'android{compileSdkVersion26defaultConfig{applicationId"com
我的应用程序在pre-21上崩溃并出现java.lang.NoClassDefFoundErrorapp.module.SomeClass错误。我已经启用了Multidex:build.gradle:android{defaultConfig{...multiDexEnabledtrue}}dependencies{...implementation"androidx.multidex:multidex:2.0.1"}我的应用类:classApp:DaggerApplication(){...overridefunattachBaseContext(base:Context){supe
我下载了SugarORM源代码以将其用作库模块(因此我可以覆盖应用程序的“attachBaseContext”方法。我已经看到问题SugarORMandmultidex,问题是我不知道如何将MultiDex库引用到我的新SugarORM库模块中。有人可以帮我解决这个问题吗?Errorpagescreenshot 最佳答案 创建类java文件publicclassMultiDexextendsSugarApp{@OverrideprotectedvoidattachBaseContext(Contextbase){super.at