> Task :app:mergeDexDebug FAILED
AGPBI: {"kind":"error","text":"Cannot fit requested classes in a single dex file (# methods: 96574 > 65536)","sources":[{}],"tool":"D8"}
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
    at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:131)
    at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:118)
    at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102)
    at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:444)
    at com.android.build.gradle.internal.tasks.Workers$ActionFacade.run(Workers.kt:335)
    at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:39)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.execute(NoIsolationWorkerFactory.java:61)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
    at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:55)
    at org.gradle.workers.internal.DefaultWorkerExecutor$1.call(DefaultWorkerExecutor.java:105)
    at org.gradle.workers.internal.DefaultWorkerExecutor$1.call(DefaultWorkerExecutor.java:99)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:748)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
    at com.android.tools.r8.utils.t.a(:55)
    at com.android.tools.r8.D8.run(:11)
    at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:116)
    ... 30 more
Caused by: com.android.tools.r8.utils.AbortException: Error: null, Cannot fit requested classes in a single dex file (# methods: 96574 > 65536)
    at com.android.tools.r8.utils.Reporter.a(:21)
    at com.android.tools.r8.utils.Reporter.a(:7)
    at com.android.tools.r8.dex.VirtualFile.a(:33)
    at com.android.tools.r8.dex.VirtualFile$h.a(:5)
    at com.android.tools.r8.dex.ApplicationWriter.a(:13)
    at com.android.tools.r8.dex.ApplicationWriter.write(:35)
    at com.android.tools.r8.D8.d(:44)
    at com.android.tools.r8.D8.b(:1)
    at com.android.tools.r8.utils.t.a(:23)
    ... 32 more


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDexDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
     The number of method references in a .dex file cannot exceed 64K.
     Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 18s
44 actionable tasks: 11 executed, 33 up-to-date

 

在网上看了很多都是说;解决办法:
在主项目的build.gradle中添加JDK1.8的支持

compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }

实际操作中还是报错

Android Studio报错:

The number of method references in a .dex file cannot exceed 64K.
Caused by: com.android.tools.r8.utils.AbortException: Error: Cannot fit requested classes in a single dex file (# methods: 68815 > 65536)

解决方案

  1. build.gradle文件android的defaultConfig里面增加multiDexEnabled true
     defaultConfig {        applicationId "com.droi.jetpack"        minSdkVersion 16        targetSdkVersion 29        versionCode 1        versionName "1.0"        multiDexEnabled true        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"        javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true }    
  2. build.gradle文件dependencies里面增加implementation 'com.android.support:multidex:1.0.3'
    dependencies {    implementation fileTree(dir: 'libs', include: ['*.jar'])    implementation 'androidx.appcompat:appcompat:1.0.2'    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'    testImplementation 'junit:junit:4.12'    androidTestImplementation 'androidx.test.ext:junit:1.1.0'    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'    implementation project(":libnetwork")    implementation 'com.android.support:multidex:1.0.3'}
  3. Application类中增加
    public class MyApp extends MultiDexApplication {    @Override    protected void attachBaseContext(Context base) {        super.attachBaseContext(base);        MultiDex.install(this);    }}

    完美解决....记录一下

 

 

更多相关文章

  1. Android——ScrollView
  2. android > styles
  3. random.nextInt() random.nextDouble()
  4. Android(安卓)音量增加减少按钮事件
  5. android 禁止横竖版切换
  6. Android硬件访问服务-Service
  7. Android(安卓)View添加 Listener 小技巧示例
  8. Android(安卓)APK常驻内存解决方案
  9. 面试题5:椭圆里面有个内切圆,内切圆中有文字

随机推荐

  1. 銆奞t on Android鏍稿績缂栫▼銆嬪嫎璇?/
  2. Android如何集成Vitamio
  3. Android(安卓)澶氫釜APK鍏变韩鏁版嵁(Sha
  4. 手把手教你在CTS中编写自己的测试模块
  5. 详解Android单元测试最佳实践
  6. 【Android解决方案】GridView第一次选中
  7. 第四课:android数据相关---sharedPreferen
  8. android手把手教你开发launcher(五)——设
  9. 教你修改eclipse创建android project时默
  10. 谷歌向全球正式发布 Android(安卓)9,代号