问题
I'm trying to compile and deploy my Android App, but i have got an MultiDex
issue :
Error:Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
> java.lang.UnsupportedOperationException (no error message)
I already tryed many fix but they doesn't works.
What i already tryed :
1. multiDexEnabled true
2. dexOptions
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
3. Turning off Instant Run in Android Studio settings
4. Reboot Android Studio and computer.
5. Clear and Rebuild project.
6. File > Invalidate Caches / Restart.
7. compile 'com.android.support:multidex:1.0.1' [EDIT]
And finally reboot my life but nothing want to works..
What can be done to fix this problem ?
Here is my Gradle file
buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'realm-android'
android {
compileSdkVersion 23
buildToolsVersion '24.0.1'
defaultConfig {
applicationId "com.X.Y"
minSdkVersion 15
targetSdkVersion 21
versionCode 90
versionName "1.2.3"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
}
repositories {
jcenter()
maven { url 'https://maven.fabric.io/public' }
maven { url 'https://dl.bintray.com/X/maven/' }
maven { url "https://jitpack.io" }
flatDir {
dirs 'libs'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.1'
// Utils
//ANR Helper & Memory Leaks helper
//compile 'com.github.anrwatchdog:anrwatchdog:1.1.+'
//compile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
// HoneyWell sdk
compile files('libs/honeywell.jar')
// RealmAdapter
compile 'io.realm:android-adapters:1.2.1'
// Volley
compile 'com.mcxiaoke.volley:library:1.0.19'
// EventBus
// compile 'org.greenrobot:eventbus:3.0.0'
// Gson
compile 'com.google.code.gson:gson:2.3.1'
// Jjp
compile 'com.instagram:ig-json-parser-processor:0.0.6+'
// Sticky List headers
compile 'se.emilsjolander:stickylistheaders:2.7.0'
// Parallax
compile 'com.github.nirhart:parallaxscroll:1.0'
// Facebook
compile 'com.facebook.android:facebook-android-sdk:4.6.0'
// Zbar
compile 'me.dm7.barcodescanner:zbar:1.9'
// NumberProgressBar
compile 'com.daimajia.numberprogressbar:library:1.2@aar'
// AutoFitTextView
compile 'me.grantland:autofittextview:0.2.+'
// RoundedImageView
compile 'com.makeramen:roundedimageview:2.2.0'
// UpdateChecker
compile 'com.github.rampo.updatechecker:library:2.1.8'
// UniversalImageLoader
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
// GifDrawable
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
// PieChart
compile 'com.github.PhilJay:MPAndroidChart:v2.2.4'
compile 'com.android.support:support-v13:+'
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
transitive = true;
}
//AndroidSlidingUpPanel
compile 'com.sothree.slidinguppanel:library:3.3.0'
// YPL
compile 'com.X:Xandroidlibrary:1.4.0'
compile project(':kdcreader')
}
And here Gradle Console
Executing tasks: [:app:assembleDebug]
Configuration on demand is an incubating feature. WARNING: WARNING: Dependency org.apache.httpcomponents:httpclient:4.3.5 is ignored for debug as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jarjar to change the class packages WARNING: WARNING: Dependency org.apache.httpcomponents:httpclient:4.3.5 is ignored for debug as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jarjar to change the class packages WARNING: WARNING: Dependency org.apache.httpcomponents:httpclient:4.3.5 is ignored for release as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jarjar to change the class packages WARNING: WARNING: Dependency org.apache.httpcomponents:httpclient:4.3.5 is ignored for release as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jarjar to change the class packages :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareComAndroidSupportAppcompatV72311Library UP-TO-DATE :app:preDebugAndroidTestBuild UP-TO-DATE :app:prepareComAndroidSupportMultidex101Library UP-TO-DATE :app:prepareComAndroidSupportRecyclerviewV72330Library UP-TO-DATE :app:prepareComAndroidSupportSupportCompat2510Library UP-TO-DATE :app:prepareComAndroidSupportSupportCoreUi2510Library UP-TO-DATE :app:prepareComAndroidSupportSupportCoreUtils2510Library UP-TO-DATE :app:prepareComAndroidSupportSupportFragment2510Library UP-TO-DATE :app:prepareComAndroidSupportSupportMediaCompat2510Library UP-TO-DATE :app:prepareComAndroidSupportSupportV132510Library UP-TO-DATE :app:prepareComAndroidSupportSupportV42510Library UP-TO-DATE :app:prepareComCrashlyticsSdkAndroidAnswers136Library UP-TO-DATE :app:prepareComCrashlyticsSdkAndroidBeta114Library UP-TO-DATE :app:prepareComCrashlyticsSdkAndroidCrashlytics255Library UP-TO-DATE :app:prepareComCrashlyticsSdkAndroidCrashlyticsCore238Library UP-TO-DATE :app:prepareComDaimajiaNumberprogressbarLibrary12Library UP-TO-DATE :app:prepareComFacebookAndroidFacebookAndroidSdk460Library UP-TO-DATE :app:prepareComGetkeepsafeRelinkerRelinker122Library UP-TO-DATE :app:prepareComGithubNirhartParallaxscroll10Library UP-TO-DATE :app:prepareComGithubRampoUpdatecheckerLibrary218Library UP-TO-DATE :app:prepareComMakeramenRoundedimageview220Library UP-TO-DATE :app:prepareComSothreeSlidinguppanelLibrary330Library UP-TO-DATE :app:prepareComXXnandroidlibrary140Library UP-TO-DATE :app:prepareIoFabricSdkAndroidFabric1310Library UP-TO-DATE :app:prepareIoRealmAndroidAdapters121Library UP-TO-DATE :app:prepareIoRealmRealmAndroidLibrary211Library UP-TO-DATE :app:prepareMeDm7BarcodescannerCore19Library UP-TO-DATE :app:prepareMeDm7BarcodescannerZbar19Library UP-TO-DATE :app:prepareMeGrantlandAutofittextview021Library UP-TO-DATE :app:preparePlDroidsonroidsGifAndroidGifDrawable1117Library UP-TO-DATE :app:prepareSeEmilsjolanderStickylistheaders270Library UP-TO-DATE :app:prepareDebugDependencies :app:compileDebugAidl UP-TO-DATE :app:compileDebugRenderscript UP-TO-DATE :app:generateDebugBuildConfig UP-TO-DATE :app:mergeDebugShaders UP-TO-DATE :app:compileDebugShaders UP-TO-DATE :app:generateDebugAssets UP-TO-DATE :app:mergeDebugAssets UP-TO-DATE :app:processDebugManifest UP-TO-DATE :app:fabricGenerateResourcesDebug :app:generateDebugResValues UP-TO-DATE :app:generateDebugResources :app:mergeDebugResources :app:processDebugResources :app:generateDebugSources :app:incrementalDebugJavaCompilationSafeguard UP-TO-DATE :app:compileDebugJavaWithJavac UP-TO-DATE :app:compileDebugNdk UP-TO-DATE :app:compileDebugSources UP-TO-DATE :app:transformClassesWithRealmTransformerForDebug UP-TO-DATE :app:transformClassesWithJarMergingForDebug UP-TO-DATE :app:transformClassesWithMultidexlistForDebug FAILED
FAILURE: Build failed with an exception.
What went wrong: Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
java.lang.UnsupportedOperationException (no error message)
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 5.277 secs
[EDIT] And more info about crash : http://pastebin.com/vG79DLuN
Thanks for your help !
回答1:
I had a same issue. In my app I am using guava-retrying library, which was fetching google guava library version 21. Guava version 21 requires JDK 1.8 without providing back porting support and this was causing this error in my case.
I was able to solve it by including the guava-retrying library so that it uses version 19.0 of guava library:
compile ("com.github.rholder:guava-retrying:2.0.0") {
exclude group: 'com.google.guava', module: 'guava'
}
compile 'com.google.guava:guava:19.0'
来源:https://stackoverflow.com/questions/41246000/android-transform-classes-with-multidexlist-for-debug-instagram-json-parser