Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Too many classes in --main-dex-list, main dex capacity exceeded
Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Too many classes in --main-dex-list, main dex capacity exceeded
我正在尝试生成我的应用程序的签名 apk,但我收到以下错误
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Too many classes in --main-dex-list, main dex capacity exceeded
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.android.dx.command.Main with arguments {--dex --force-jumbo --num-threads=4 --multi-dex --main-dex-list C:\Users\user\Desktop\Mystuff\GetALifFitness\WonderStree-Production\app\build\intermediates\multi-dex\release\maindexlist.txt --output C:\Users\user\Desktop\Mystuff\GetALifFitness\WonderStree-Production\app\build\intermediates\transforms\dex\release\folders00f\main C:\Users\user\Desktop\Mystuff\GetALifFitness\WonderStree-Production\app\build\intermediates\transforms\proguard\release\jarsf\main.jar}
我已经从这个 link 中尝试了一些解决方案,但它对我不起作用。
你们能告诉我什么可能是错的或为我提供解决方案吗?谢谢。
我已经尝试过的 - 这是我的 proguard 文件的样子:
-keepclassmembers class toan.android.floatingactionmenu.FloatingActionsMenu$RotatingDrawable { void set*(***); *** get*(); }
-ignorewarnings
-keep class * { public private *; }
-dontwarn okio.**
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
-dontwarn com.mixpanel.**
和build.gradle
我添加的文件:
dexOptions {
javaMaxHeapSize "4g"
keepRuntimeAnnotatedClasses false
}
此外,我删除了不需要的库。然而这个问题并没有解决。
我通过从 build.gradle 文件
中删除这一行解决了这个问题
multiDexKeepProguard file('proguard-rules.pro')
这是我的 build.gradle 文件现在的样子
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
ext.enableCrashlytics = true
}
}
我正在尝试生成我的应用程序的签名 apk,但我收到以下错误
Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Too many classes in --main-dex-list, main dex capacity exceeded
Error:Execution failed for task ':app:transformClassesWithDexForRelease'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.android.dx.command.Main with arguments {--dex --force-jumbo --num-threads=4 --multi-dex --main-dex-list C:\Users\user\Desktop\Mystuff\GetALifFitness\WonderStree-Production\app\build\intermediates\multi-dex\release\maindexlist.txt --output C:\Users\user\Desktop\Mystuff\GetALifFitness\WonderStree-Production\app\build\intermediates\transforms\dex\release\folders00f\main C:\Users\user\Desktop\Mystuff\GetALifFitness\WonderStree-Production\app\build\intermediates\transforms\proguard\release\jarsf\main.jar}
我已经从这个 link
我已经尝试过的 - 这是我的 proguard 文件的样子:
-keepclassmembers class toan.android.floatingactionmenu.FloatingActionsMenu$RotatingDrawable { void set*(***); *** get*(); }
-ignorewarnings
-keep class * { public private *; }
-dontwarn okio.**
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
-dontwarn com.mixpanel.**
和build.gradle
我添加的文件:
dexOptions {
javaMaxHeapSize "4g"
keepRuntimeAnnotatedClasses false
}
此外,我删除了不需要的库。然而这个问题并没有解决。
我通过从 build.gradle 文件
中删除这一行解决了这个问题multiDexKeepProguard file('proguard-rules.pro')
这是我的 build.gradle 文件现在的样子
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
ext.enableCrashlytics = true
}
}