Articles of multidex

执行任务失败: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 […]

RoboGuice 3.0 NoClassDefFoundError:roboguice.inject.ContextScopedRoboInjector

这并不总是可见,但在特定的API 14和19上看到。 以下是堆栈跟踪 java.lang.NoClassDefFoundError: roboguice.inject.ContextScopedRoboInjector at roboguice.RoboGuice.getInjector(RoboGuice.java:197) at roboguice.activity.RoboActivity.onCreate(RoboActivity.java:90) at com.bnmcombines.galleryflavors.Launcher.onCreate(Launcher.java:71) at android.app.Activity.performCreate(Activity.java:5343) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2343) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2441) at android.app.ActivityThread.access$900(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5345) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644) at dalvik.system.NativeStart.main(Native Method) RoboGuice 3.0已经logging了一个问题: https : //github.com/roboguice/roboguice/issues/328 但没有回应,我们目前被封锁。 问题解决了 这次我更仔细地介绍了MultiDex Document,并将我的AndroidManifest.xml更新到了我以前错过的版本 <application … android:name="android.support.multidex.MultiDexApplication"> … </application> […]

Android Gradle插件multidex ZipException

我试图使用新的multidex选项,但我得到以下错误: Execution failed for task ':packageAll[Variant]TestClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: android/support/multidex/BuildConfig.class 我只能在运行connectedAndroidTests任务时发现问题,而不是简单地构build项目( 构build )。

我可以在Androiddebugging版本中启用multidex吗?

Dears,我读过许多博客文章,multidex应用程序的启动速度比正常的应用程序慢。 我的应用程序使用了很多超过64k方法的库,所以我使用multidex。 但是当我在发布版本中使用proguard时,最终的apk变得less于64k的方法 所以我的问题是:我可以在Androiddebugging版本中启用multidex,所以我没有运行时错误? 并在发布版本中禁用多个dex,因为我不需要它? 如果是的话,怎么样? 如果没有,Android是否足够聪明,加快启动,因为它应该认识到,应用程序没有超过64k,即使它是多个dex应用程序?

Android应用程序首次推出时间更长,甚至需要30秒以上

下面是应用程序第一次安装时的日志: 05-12 13:16:23.632 28250-28250 / com.app.projectName W / System:ClassLoader引用未知path:/data/app/com.app.projectName-1/lib/arm 05-12 13:16:59.041 28250-28250 / com.app.projectName W / System:ClassLoader引用未知path:/data/app/com.app.projectName-1/lib/arm 05-12 13:16:59.073 28250-28250 / com.app。 projectName I / MultiDex:具有版本2.1.0的VM具有multidex支持05-12 13:16:59.073 28250-28250 / com.app.projectName I / MultiDex:install 05-12 13:16:59.073 28250-28250 / com。 app.projectName I / MultiDex:VM支持multidex,MultiDex支持库被禁用。 而我在我的项目中使用MultiDex库,它将完全在棒棒糖设备下工作。这种延迟在棒棒糖设备中的变化在30秒到90秒之间,第一次应用程序启动。 看到它不是由于MultiDex权利? 因为时间是1.)初始化05-12 13:16:23.632第二个日志在36秒之后到来05-12 13:16:59.041 这件事创build应用程序延迟ClassLoader引用…. MultiDex正在快速初始化。 以下是屏幕截图 它需要15秒到30秒,甚至更多。 我的Gradle文件是: dependencies { compile […]

用代码2退出的“java.exe”Xamarin.Android项目

所以我有我的Xamarin.Android项目,其中包含几个库。 当我尝试build立我收到一个错误,说“java.exe”退出代码2。 经过几个小时的谷歌研究,我发现我可以启用Multidex。 根据Jon Doublas的博客条目,我提到了这些步骤。 http://www.jon-douglas.com/2016/09/05/xamarin–android–multidex/ 根据博客条目Android API Level> 21处理Multidex本身。 那么我的经验是,它没有。 我正在构buildAPI级别25,并获得相同的信息一次又一次的相同的错误。 文章中的步骤没有帮助。 看起来像Xamarin.Android不支持Multidex。 似乎你必须自己处理Multidex,但是我还没有find任何正在工作的解决scheme。 有没有人find一个解决scheme的作品? 我使用Xamarin 4.6和Visual Studio 2017。

MultiDexTestRunner的哪个包? android.support.multidex或者com.android.test.runner

页面http://developer.android.com/tools/building/multidex.html#testingbuild议 dependencies { compile 'com.android.support:multidex:1.0.1' androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1' } android { defaultConfig { multiDexEnabled true testInstrumentationRunner "android.support.multidex.MultiDexTestRunner" } } 但是当testing运行时会产生一个ClassNotFoundExceptionexception。 API文档和dexdump显示有com.android.test.runner.MultiDexTestRunner。 所以,如果我不相信文档,而是指定 dependencies { compile 'com.android.support:multidex:1.0.1' androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1' } android { defaultConfig { multiDexEnabled true testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner" } } 然后我得到 com/company/myapp/MyApp; had used a different Landroid/support/multidex/MultiDexApplication; during pre-verification … IllegalAccessExceptionIllegalAccessError: Class ref in pre-verified class resolved […]

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

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