android - Android Studio Gradle Build Error无法合并dex

标签 android gradle dex

我是新来的android studio。我已经制作了一个Java项目,该项目主要与SQLite db(在assets文件夹中)一起使用。我从Netbeans将此项目迁移到android studio。当我按Run键并选择一个仿真器时,Gradle Build Tasks开始执行,并出现错误消息:

    Error:Execution failed for task 
    ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
    > java.lang.RuntimeException: 
    com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

控制台中的Complete错误输出显示:
    * What went wrong:
   Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
   > java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

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

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

   BUILD FAILED in 39s

这是按“运行”后的堆栈跟踪

执行任务:[:app:assembleDebug]
    :app:preBuild UP-TO-DATE
    :app:preDebugBuild UP-TO-DATE
    :app:compileDebugAidl UP-TO-DATE
    :app:compileDebugRenderscript UP-TO-DATE
    :app:checkDebugManifest UP-TO-DATE
    :app:generateDebugBuildConfig UP-TO-DATE
    :app:prepareLintJar UP-TO-DATE
    :app:generateDebugResValues UP-TO-DATE
    :app:generateDebugResources UP-TO-DATE
    :app:mergeDebugResources UP-TO-DATE
    :app:createDebugCompatibleScreenManifests UP-TO-DATE
    :app:processDebugManifest
    :app:splitsDiscoveryTaskDebug UP-TO-DATE
    :app:processDebugResources
    :app:generateDebugSources
    :app:javaPreCompileDebug UP-TO-DATE
    :app:compileDebugJavaWithJavac UP-TO-DATE
    :app:compileDebugNdk NO-SOURCE
    :app:compileDebugSources UP-TO-DATE
    :app:mergeDebugShaders UP-TO-DATE
    :app:compileDebugShaders UP-TO-DATE
    :app:generateDebugAssets UP-TO-DATE
    :app:mergeDebugAssets UP-TO-DATE
    :app:transformClassesWithDexBuilderForDebug UP-TO-DATE
    :app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED 

网络上有很多解决方案,例如我已经拥有的multiDexEnabled true文件中的gradle.build文件。

更新这是我的gradle.build文件
    apply plugin: 'com.android.application'

   android {
       compileSdkVersion 26
       defaultConfig {
           applicationId "com.example.bcosta.myapplication"
           minSdkVersion 23
           targetSdkVersion 23
           versionCode 1
           versionName "1.0"
           testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
           multiDexEnabled = true
       }
       buildTypes {
           release {
               minifyEnabled false
               proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
           }
       }
   }

   dependencies {
       implementation fileTree(include: ['*.jar'], dir: 'libs')

       implementation 'com.android.support:appcompat-v7:26.1.0'
       implementation 'com.android.support.constraint:constraint layout:1.0.2'
       testImplementation 'junit:junit:4.12'
       androidTestImplementation 'com.android.support.test:runner:1.0.1'
       androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
          }

最佳答案

没有确定的解决方案,这似乎是一个常见问题。

尝试:

  • 删除.gradle目录。
  • 清理项目并重新构建。

  • 如果这样不起作用,请尝试将以下内容添加到build.gradle中:
    android {
    dexOptions{
       jumboMode=true;
       javaMaxHeapSize "4g"
    }
    }
    

    另外,尝试"file"->“使缓存无效/重新启动”

    关于android - Android Studio Gradle Build Error无法合并dex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48224387/

    相关文章:

    Android 谷歌地图 - 所有标记背后的自定义背景

    android - android.support.v7.widget 中缺少 ListViewCompat

    java - 如何使用字符串创建 Intent 来启动另一个 Activity ?

    android - Android Studio 3.0 Beta4 上的 Dex 错误

    java.lang.NoClassDefFoundError : Failed resolution of: Lretrofit2/Retrofit$Builder;

    android - com.android.dex.DexException : Multiple dex files define Ledu/hawhamburg/vuforia/BuildConfig;

    android - 如何将 NavArgs 映射到 NavArgument?

    gradle - 在Jhipster中,我通过命令删除了文件,并在运行 “gradlew liquibaseDiffChangelog ”命令后删除了该错误

    gradle - 如何在gradle输出中打印完全合格的软件包?

    spring-boot - 如何让 Intellij 识别 application.yml 中的属性