Articles of multidex

实现MultiDex导致编译这么久,最后堆空间错误

我有一个很大的Android项目,我得到了无法执行dex:方法ID不在[0,0xffff]:65536错误; 我相信你们中的一些人之前肯定经历过这个问题。 由于应用程序中引用的方法太多,这是一个错误。 我在网上寻找了不同的资源,发现这可能是最好的解决方案。 我做了以下事情: 在multiDexEnabled = true的defaultConfig块中添加了multiDexEnabled = true 。 添加了以下依赖项: dependencies { compile ‘com.android.support:multidex:1.0.0’ } 覆盖了我的App类中的以下代码。 @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } 现在,错误消失了,但我有一个新问题。 当我运行应用程序时,编译器需要超过3分钟来编译和运行应用程序,最后给我这个错误: UNEXPECTED TOP-LEVEL ERROR: java.lang.OutOfMemoryError: Java heap space 我理解由于大量内存使用而发生此错误,但我不知道如何解决它。 我使用的是Android Studio 1.0.2和Android API 21。 谢谢! 编辑 : 我已经在MonoDevelop中编译MonoDroid应用程序时检查了如何修复“OutOfMemoryError:java堆空间” ,但这并没有解决问题的原因,而且我没有使用Xamarin Studio。 编辑2 : 确切的症状是这样的: 当我编译代码时,gradle控制台向我展示了数百个警告,说“忽略匿名内部类的InnerClasses属性”(其他一些stackoverflow答案表明这不是严重的警告),然后只显示闪烁的光标一段时间,大约一分钟后,它给了我错误。

错误:在任务collectDebugMultiDexComponents的配置中发现了一个问题

我已经将Android Studio更新为0.9,将工具更新为21.1.0并且gradle为0.14,因为我想使用新的multiDexEnabled truefunction。 目前我正在使用这种方法https://github.com/casidiablo/multidex管理multidex,一切正常,但multiDexEnabledfunction似乎更好。 但是使用gradle 0.14我得到了这个错误: uses-sdk元素不能有“tools:node”属性 ,我使用@Medo发布的解决方案 “解决”了这个属性 。 但是,如果我使用这种方法,multiDexEnabled将无法工作,我将收到此错误: 错误:find任务’:participantactclient:collectDebugMultiDexComponents’的配置问题。 为属性’manifest’指定的文件’/ Users / danielecampogiani /开发/ Android / Android Studio / Participact客户端/ participactclient / build / intermediates / manifests / full / debug / AndroidManifest.xml’不存在。 知道怎么解决这个问题吗?

收缩调试多Dex组件; 无法读取dir / allclasses.jar

我正在开发一个启用Multidex的应用程序,以避免65k的限制。 我想在Jartypes中添加一个外部库(即iPay Jar SDK)。 我已经同步了Gradle并取得了成功,但我未能运行该项目。 错误消息如下所示 Error:Execution failed for task ‘:app:shrinkDebugMultiDexComponents’. java.io.IOException: Can’t read [/[dir]/app/build/intermediates/multi-dex/debug/allclasses.jar] (Can’t process class [com/ipay/IpayAcitivity.class] (Unknown verification type [14] in stack map frame)) 这是我的Gradle Code apply plugin: ‘com.android.application’ apply plugin: ‘android-apt’ def AAVersion = ‘3.2’ buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.4’ } } repositories { mavenCentral() mavenLocal() […]

错误:任务执行失败’:app:shrinkReleaseMultiDexComponents’

我正在尝试生成一个APK以便在Google商店中发布,但是我收到以下错误: Error:Execution failed for task ‘:app:shrinkReleaseMultiDexComponents’. java.io.IOException: The output jar [/home/nome/Projects/app-android/app/_app/build/intermediates/multi-dex/release/componentClasses.jar] must be specified after an input jar, or it will be empty. 我该如何解决?

在build.gradle中编译具有useLibrary’org.apache.http.legacy’的项目时出现’app:transformClassesWithDexForDebug’错误

我正在开发一个我正在使用这个库的应用程序。 在编译项目时,会popup包含TransformException和RuntimeException错误: Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. > com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: Unable to pre-dex ‘C:\Users\hp\.gradle\caches\modules-2\files-2.1\org.brunocvcunha.instagram4j\instagram4j\1.4\e86d0ec82fb3eb4225b983e6dc14db048005bc9b\instagram4j-1.4.jar’ to ‘C:\Users\hp\Downloads\Hamy\app\build\intermediates\transforms\dex\debug\folders\1000\10\instagram4j-1.4_ea292e8a2c317dbd8ab0226ff9507ee97ac0794b’ 这是build.gradle (Module: app) : apply plugin: ‘com.android.application’ android { compileSdkVersion 25 buildToolsVersion “26.0.1” defaultConfig { applicationId “com.xxx.abc” minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), […]

有没有办法在Android Studio中使用MultiDexfunction时限制主dex文件中的方法数量

当我在Android Studio中启用MultiDexfunction时 ,就像文档所说,它会自动转换为两个或更多dex文件。 我无法配置它。 似乎在主dex文件中,方法的数量非常接近限制(65536)。 问题是如何配置它,使主dex文件中的方法数量减少到一定数量,比如60k。 我必须将apk上传到亚马逊appstore,亚马逊的人会在主要的dex文件中添加一些方法并使其超过65536的限制。

任务执行失败’:packageAllDebugClassesForMultiDex’

我尝试使用新的android multidex支持项目。 我有这个例外的一些问题: 错误:任务’:shineV3:packageAllDebugClassesForMultiDex’的执行失败。 java.util.zip.ZipException:重复条目:com / google / android / gms / analytics / internal / Command $ 1.class 关于这个问题。 我使用2个不同的jar包作为依赖,有些类将在classes.dex中重复,因为两个jar都包含它们。 任何想法? 提前致谢

将字节码转换为dex时出错:原因:未使用–min-sdk-version> = 24时使用的默认或静态接口方法

我在尝试在AS 3.0金丝雀5中构建项目时遇到以下错误。任何想法是什么原因造成的? 的build.gradle: dependencies { compile ‘com.google.dagger:dagger:2.11’ compile ‘com.google.dagger:dagger-android:2.11’ compile ‘com.google.dagger:dagger-android-support:2.11’ compile ‘android.arch.lifecycle:runtime:1.0.0-alpha3’ compile ‘android.arch.lifecycle:extensions:1.0.0-alpha3’ compile ‘android.arch.persistence.room:runtime:1.0.0-alpha3’ compile ‘biz.laenger.android:vpbs:0.0.4’ compile ‘commons-io:commons-io:2.5’ compile ‘com.andreabaccega:android-form-edittext:1.2.1@aar’ compile ‘com.android.support:appcompat-v7:25.4.0’ compile ‘com.android.support:cardview-v7:25.4.0’ compile ‘com.android.support:design:25.4.0’ compile ‘com.android.support:multidex:1.0.1’ compile ‘com.android.support:percent:25.4.0’ compile ‘com.android.support:recyclerview-v7:25.4.0’ compile ‘com.android.support:support-media-compat:25.4.0’ compile ‘com.android.support:support-v4:25.4.0’ compile ‘com.getbase:floatingactionbutton:1.10.1’ compile ‘com.github.piasy:GlideImageLoader:1.2.3’ compile ‘com.github.bumptech.glide:glide:3.7.0’ compile ‘com.google.android.gms:play-services-location:11.0.2’ compile ‘com.google.android.gms:play-services-maps:11.0.2’ compile ‘com.google.code.gson:gson:2.8.1’ compile ‘com.google.firebase:firebase-analytics:11.0.2’ compile ‘com.google.firebase:firebase-crash:11.0.2’ […]

Android:SugarORM和multidex

我正在使用使用SugarORM的Android项目。 现在方法限制已经增加了很多,我必须激活multidex支持。 但是现在我遇到了SugarORM的问题,它只创建了classes.dex文件中的表。 它似乎完全忽略了classes2.dex。 这真的是Sugar中的一个错误,是否有一些好方法可以绕过这个问题?

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