Articles of multidex

Multidex安装失败

我正在使用CircledImageView库。 它适用于棒棒糖+ Android版本。 但在kitkat它崩溃了。 所以在谷歌搜索后。 我发现我必须在我的应用程序中实现multidex。 所以这是我的应用程序类。 public class FireApp extends Application { @Override public void onCreate() { super.onCreate(); Firebase.setAndroidContext(this); Fresco.initialize (this); } @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } } 在defaultconfig下的build.gradle中,MultiDexEnabled为true multiDexEnabled true 但是当我运行应用程序时,我收到以下错误。 java.lang.NoSuchFieldException: Field dexElementsSuppressedExceptions not found in class dalvik.system.PathClassLoader at android.support.multidex.MultiDex.findField(MultiDex.java:288) at android.support.multidex.MultiDex.access$300(MultiDex.java:57) at android.support.multidex.MultiDex$V19.install(MultiDex.java:390) at android.support.multidex.MultiDex$V19.access$000(MultiDex.java:369) at android.support.multidex.MultiDex.installSecondaryDexes(MultiDex.java:242) […]

使用Multidex对应用程序性能,稳定性,兼容性的影响……?

我的应用程序的下一个版本大约有70K方法。 了解使用Multidex的确切含义(通常意味着使用Multidex支持库来支持API <21)对我做出这个决定非常重要: 我应该付出很多努力(例如通过微调我的Proguard配置以更积极地缩小,倾倒一些第三方库等)以符合64K方法限制,或者我应该只启用Multidex? 文档表明Multidex支持库可能有一些严重的副作用(请参阅Limitations of the multidex support library )。 我真的应该期待什么? 某些设备上的安装失败? 应用程序启动缓慢(第一次启动或始终)? 某些设备上出现新的崩溃或ANR? 整体性能下降? 我们将非常感谢您自己迁移到Multidex的反馈。

DexIndexOverflowException:无法将新索引65772合并为非巨型指令!:Jumbo Mode? 和/或Multi-Dex? 幕后的是什么?

我试图在gradle中为我的项目设置jumboMode,它似乎能够解决以下DexIndexOverflowException: com.android.dex.DexException:无法将新索引65536合并为非巨型指令! DexIndexOverflowException:无法将新索引65772合并为非巨型指令! 1)什么是jumboMode选项实际上在幕后做了什么? android { … dexOptions { jumboMode true } } 2)我也注意到启用multi-dex也可以解决同样的问题,这两种方法之间的正确选择是什么? android { … defaultConfig { … multiDexEnabled true } }

为什么使用multiDexEnabled(true)允许应用程序构建但不断崩溃?

我正在处理的应用程序(基本代码不是由我编写的,包含许多无法删除的大型库)。 在最近的一次运行中,它开始响应消息: 这仅在应用程序在使用运行箭头时尝试构建时发生,它在调用“rebuild”或“clean”时成功构建。 包含在线的解决方案是使用multiDexEnabled true( 此处为multiDex文档 。) 使用这个我能够使用“运行”箭头和“重建”获得建筑物。 但是,构建并在手机上运行的应用程序崩溃时出现以下错误消息: 12-11 16:17:16.963 28868-28868/? D/dalvikvm: Late-enabling CheckJNI 12-11 16:17:17.023 28868-28868/com.myname.myappcoop W/dalvikvm: VFY: unable to resolve static field 10471 (common_google_play_services_updating_text) in Lcom/google/android/gms/R$string; 12-11 16:17:17.023 28868-28868/com.myname.myappcoop D/dalvikvm: VFY: replacing opcode 0x60 at 0x0021 12-11 16:17:17.023 28868-28868/com.myname.myappcoop I/dalvikvm: DexOpt: unable to optimize static field ref 0x28e8 at 0x2e in Lcom/google/android/gms/common/GoogleApiAvailability;.zza […]

MultiDexApplication无法识别

尝试在我的应用程序中使用MultiDexApplication,但是当我尝试使用它扩展应用程序活动时,无法识别该类。 这是我的build.gradle文件: apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion ‘21.0.1’ defaultConfig { applicationId ‘com.myapp’ minSdkVersion 10 targetSdkVersion 21 versionCode 115 versionName ‘4.8’ } buildTypes { debug { debuggable true runProguard false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } release { debuggable false runProguard true zipAlign true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } packagingOptions { exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ […]

应用程序在启动时由android.content.Context.getString中的NPE导致崩溃

我们有一个非常奇怪的崩溃,它指向系统类。 它出现在应用程序启动时。 致命exception:java.lang.RuntimeException:无法启动活动ComponentInfo {com.myapp.android/com.myapp.android.main.BaseMainActivity}:java.lang.RuntimeException:无法创建应用程序com.myapp.android.main。 MyApp:android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429)的android.app.ActivityThread.access $ 800(ActivityThread.java)的java.lang.NullPointerException :151)在Android.app.Loper.loop(Looper.java:193)的android.app.Handler.dispatchMessage(Handler.java:110)上的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1342)在android.app.ActivityThread.main(ActivityThread.java:5333)的java.lang.reflect.Method.invokeNative(Method.java),位于com的java.lang.reflect.Method.invoke(Method.java:515)。 android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:828)位于dalvik.system.NativeStart.mai的com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644) n(NativeStart.java)由java.lang.RuntimeException引起:无法在android.app.LoadedApk.makeApplication(LoadedApk.java:529)上创建应用程序com.myapp.android.main.MyApp:java.lang.NullPointerException Android.app.ActivityThread上的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429)android.app.ActivityThread.access $ 800(ActivityThread.java:151)上的.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292) $ H.handleMessage(ActivityThread.java:1342)位于android.app.AtoT.Thread.main上android.os.Handler.dispatchMessage(Handler.java:110)的android.os.Looper.loop(Looper.java:193) ActivityThread.java:5333)at java.lang.reflect.Method.invokeNative(Method.java)at java.lang.reflect.Method.invoke(Method.java:515)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller .run(ZygoteInit.java:828)位于dalvik.system.NativeStart.main(NativeStart.java)的com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)由java.lang.NullPointerEx引起 知识在android.content.Context.getString(Context.java:343)的com.myapp.android.api.singletons.AppTrackingInstance.initAdjust(AppTrackingInstance.java:114)com.myapp.android.api.singletons.AppTrackingInstance。 (AppTrackingInstance.java:92)com.myapp.android.injection.modules.ApplicationScopeModule.provideAppTrackingInstance(ApplicationScopeModule.java:326)at com.myapp.android.injection.modules.ApplicationScopeModule $$ ModuleAdapter $ ProvideAppTrackingInstanceProvidesAdapter.get(ApplicationScopeModule $ $ ModuleAdapter.java:1618)at com.myapp.android.injection.modules.ApplicationScopeModule $$ ModuleAdapter $ ProvideAppTrackingInstanceProvidesAdapter.get(ApplicationScopeModule $$ ModuleAdapter.java:1552)at dagger.internal.Linker $ SingletonBinding.get(Linker.java) :364)com.myapp.android.main.MyApp $$ InjectAdapter.injectMembers(MyApp $$ InjectAdapter.java:70)at com.myapp.android.main.MyApp $$ InjectAdapter.injectMembers(MyApp $$ […]

SDK 21下面的NoClassDefFoundError

我刚刚在我的App中遇到了一个尴尬的错误。 在我的Nexus 5/7上,运行android 5.0.1 / 5.0.2,一切正常。 但是,如果我尝试在具有早期版本(测试4.4.4和4.3)的设备上运行完全相同的代码,我会收到以下错误: 03-13 13:49:41.140 21714-21714/? E/dalvikvm﹕ Could not find class ‘com.default.package.application.model.Appcomponent’, referenced from method com.default.package.application.controller.DatabaseHandler.getScreenComponents 03-13 13:49:41.140 21714-21714/? E/dalvikvm﹕ Could not find class ‘android.support.v7.app.ActionBarActivityDelegate$1’, referenced from method android.support.v7.app.ActionBarActivityDelegate. 03-13 13:49:41.140 21714-21714/? E/dalvikvm﹕ Could not find class ‘android.support.v7.app.ActionBarActivityDelegateHC’, referenced from method android.support.v7.app.ActionBarActivityDelegate.createDelegate 03-13 13:49:41.140 21714-21714/? E/dalvikvm﹕ Could not find class ‘android.support.v7.app.ActionBarActivityDelegateBase’, […]

执行任务失败:app:shrinkReleaseMultiDexComponents'

在Android Studio中生成已签名的apk时,出现以下错误。 :app:shrinkReleaseMultiDexComponents FAILED Error:Execution failed for task ':app:shrinkReleaseMultiDexComponents'. > java.io.IOException: The output jar [E:\SVN_studio\100's\trunk\app\build\intermediates\multi-dex\release\componentClasses.jar] must be specified after an input jar, or it will be empty. Information:BUILD FAILED Information:1 error Information:Total time: 35.975 secs Information:159 warnings 这里是我的build.gradle文件 apply plugin: 'com.android.application' apply plugin: 'com.google.gms.google-services' android { compileSdkVersion 21 buildToolsVersion "22.0.1" defaultConfig { applicationId "<packageName>" minSdkVersion […]

在Android中启用MultiDex支持以在Eclipse中实现65K +方法

我正在尝试在Eclipse中构buildMultidex apk,并且无法成功。 我尝试了以下步骤,在Android应用程序中configurationMultidex支持: 我已经将位于/ extras / android / support / multidex /的Multidex库添加到我的项目中。 由于我的应用程序有自定义的应用程序类,我已经扩展android.support.multidex.MultiDexApplication类到我的应用程序。 我仍然无法构buildapk。 Android开发人员也没有任何文件来构buildeclipse中的Multidex apk,它只有Gradle和Android Studio的文档。

java.lang.ClassNotFoundException:dalvik.system.BaseDexClassLoader.findClass

我在Google Play开发者控制台中不断收到此错误报告。 它看起来像MultiDex错误。 java.lang.RuntimeException: at android.app.LoadedApk.makeApplication(LoadedApk.java:516) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4514) at android.app.ActivityThread.access$1500(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5299) at java.lang.reflect.Method.invokeNative(Native Method:0) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) at dalvik.system.NativeStart.main(Native Method:0) Caused by: java.lang.ClassNotFoundException: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:497) at java.lang.ClassLoader.loadClass(ClassLoader.java:457) at android.app.Instrumentation.newApplication(Instrumentation.java:975) at android.app.LoadedApk.makeApplication(LoadedApk.java:511) 我已经添加到gradle.build: defaultConfig { … minSdkVersion 14 targetSdkVersion 21 … // Enabling multidex […]