Android studio 无法即时运行:Dalvik运行时上的旧版多索引

Android studio 无法即时运行:Dalvik运行时上的旧版多索引,android-studio,android-multidex,instant-run,Android Studio,Android Multidex,Instant Run,当我运行我的应用程序时,它说 无法即时运行:Dalvik运行时上的旧版多索引 这是否意味着当我使用multi-dex时不能使用Instant Run 我正在使用Android Studio beta4。只需从ProjectName/app/build.gradle中删除这一行即可 android{ 默认配置{ 多索引启用真 } } 删除multiDexEnabled true,您将能够即时运行。要在旧android版本中激活multiDex,您必须将multiDexEnabled设置为true,

当我运行我的应用程序时,它说

无法即时运行:Dalvik运行时上的旧版多索引

这是否意味着当我使用multi-dex时不能使用Instant Run


我正在使用Android Studio beta4。

只需从ProjectName/app/build.gradle中删除这一行即可

android{
默认配置{
多索引启用真
}
}


删除multiDexEnabled true,您将能够即时运行。

要在旧android版本中激活multiDex,您必须将multiDexEnabled设置为true,添加依赖项并从MultiDexApplication扩展应用程序类,或在应用程序类中启动multiDex.install(此),这将导致旧版multiDex安装

但是,由于Intant Run无法使用传统的multiDex,因此必须使用普通的multiDex。您只需删除上面的所有代码,除了设置为true的multiDexEnabled标志。此方法仅受API 21及以上版本的设备支持


如果出现问题,请随时更正。

如文档中所述,如果API级别20或更低启用了multidex,并且应用程序部署在API级别20或更低,则Android Studio将禁用Instant Run


在官方网站上阅读:“使用旧版multi-dex(minSdkVersion<21)且主dex文件接近65K方法限制的应用程序可能无法生成。这需要重新修改应用程序,以减少主dex文件中所需的类数,从而在主dex列表中腾出空间。”.我需要它来分割dex.也许proguard和minification可以帮你。似乎没有新设备就没有其他方法了。顺便说一句,instant run在模拟器上运行良好。你可以使用新的google emulator或Genymotion我的电脑只有8G内存!我办公室的电脑也只有8GB内存。Genymotion工作完美无瑕。