java - 错误 : 'com.android.build.api.transform.TransformException: Error while generating the main dex list.'

标签 java android firebase gradle google-analytics

完整错误:

'Execution failed for task ':app:transformClassesWithMultidexlistForNoGPlayDebug'. com.android.build.api.transform.TransformException: Error while generating the main dex list.'

我成功地将 Firebase 集成到我的应用程序中,但在尝试实现 Firebase Analytics 时遇到了问题。编译器开始解析我的 google-services.json 文件后弹出此错误。有人对可能导致问题的原因有任何想法吗?这是我的项目级和应用级 gradle 文件:

项目级

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.3.0'

    repositories {
        google()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
    dependencies {

        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

project.ext {
    supportVersion = "27.1.1"
    sdkVersion = 27
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

应用级

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

repositories {
    maven { url "https://dl.bintray.com/dasar/maven" }
    maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
    maven { url "https://jitpack.io" }
    maven { url "https://maven.google.com" }
    mavenCentral()
    google()
    jcenter()
}


android {
    compileSdkVersion project.sdkVersion
    defaultConfig {
        applicationId "com.digitalnode.quickpick"
        minSdkVersion 19
        targetSdkVersion project.sdkVersion
        versionName "v1.1"
        versionCode 17
        vectorDrawables.useSupportLibrary = true

        multiDexEnabled true
    }

    lintOptions {
        disable 'MissingTranslation'
        disable 'ExtraTranslation'
        abortOnError false
    }

    dexOptions {
        jumboMode = true
    }

    // This is handled for you by the 2.0+ Gradle Plugin
    aaptOptions {
        additionalParameters "--no-version-vectors"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    signingConfigs {
        release
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            resValue "string", "app_name", "LeafPic"
            signingConfig signingConfigs.release
        }

        debug {
            applicationIdSuffix ".debug"
            resValue "string", "app_name", "QuickPic"
        }
    }

    flavorDimensions "default"

    productFlavors {
        noGPlay {
            dimension "default"
        }

        withGPlay {
            dimension "default"
        }
    }
}

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

    //exifInterface
    implementation "com.android.support:exifinterface:$supportVersion"

    // google & support
    implementation "com.android.support:appcompat-v7:$supportVersion"
    implementation "com.android.support:cardview-v7:$supportVersion"
    implementation "com.android.support:recyclerview-v7:$supportVersion"
    implementation "com.android.support:design:$supportVersion"
    implementation "com.android.support:palette-v7:$supportVersion"
    implementation "com.android.support:customtabs:$supportVersion"
    implementation "com.android.support:support-v4:$supportVersion"

    //exo-player
    implementation 'com.google.android.exoplayer:exoplayer-core:2.6.0'
    implementation 'com.google.android.exoplayer:exoplayer-dash:2.6.0'
    implementation 'com.google.android.exoplayer:exoplayer-ui:2.6.0'
    implementation 'com.google.android.exoplayer:exoplayer-hls:2.6.0'
    implementation 'com.google.android.exoplayer:exoplayer-smoothstreaming:2.6.0'

    // utils
    implementation 'com.github.bumptech.glide:glide:4.7.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.12'
    implementation 'com.github.Commit451:bypasses:1.1.0'
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    implementation 'com.drewnoakes:metadata-extractor:2.11.0'
    implementation "com.orhanobut:hawk:2.0.1"
    implementation 'com.commonsware.cwac:provider:0.4.3'

    // rxJava
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    //it is recommended to keep the same version of rxAndroid
    implementation 'io.reactivex.rxjava2:rxjava:2.1.13'
//    implementation 'com.jakewharton.rxrelay2:rxrelay:2.0.0'

    // icons
    implementation 'com.mikepenz:iconics-core:3.0.3@aar'
    implementation "com.mikepenz:iconics-views:3.0.3@aar"
    implementation 'com.mikepenz:google-material-typeface:3.0.1.2.original@aar'
    implementation 'com.mikepenz:community-material-typeface:2.0.46.1@aar'
    implementation 'com.mikepenz:fontawesome-typeface:4.7.0.2@aar'

    // ui
    implementation 'uz.shift:colorpicker:0.5@aar'
    implementation 'com.github.jetradarmobile:desertplaceholder:1.1.1'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    implementation 'com.github.yalantis:ucrop:2.2.2'
    implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0'
    implementation 'jp.wasabeef:recyclerview-animators:2.2.7'
    implementation 'com.github.HoraApps:Liz:-SNAPSHOT'
    implementation 'com.github.lzyzsd:circleprogress:1.2.1'

    // debug Only
    //debugCompile project(':inappstoragereader')
    implementation 'cat.ereza:customactivityoncrash:2.2.0'
    debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
    releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:multidex:1.0.3'

    // TODO check them out
    implementation 'com.turingtechnologies.materialscrollbar:lib:10.0.3'
    implementation 'de.psdev.licensesdialog:licensesdialog:1.8.3'

    implementation 'com.google.firebase:firebase-database:16.0.5'

    implementation 'com.google.android.gms:play-services-analytics:16.0.5'

    implementation 'com.google.firebase:firebase-core:16.0.5'
    implementation 'com.google.android.gms:play-services-ads:17.1.0'
}

Properties props = new Properties()
def propFile = new File('signing.properties')
if (propFile.canRead()) {
    props.load(new FileInputStream(propFile))

    if (props != null && props.containsKey('STORE_FILE') && props.containsKey('KEY_ALIAS') && props.containsKey('PASSWORD')) {
        android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
        android.signingConfigs.release.storePassword = props['PASSWORD']
        android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
        android.signingConfigs.release.keyPassword = props['PASSWORD']
    } else {
        println 'signing.properties found but some entries are missing'
        android.buildTypes.release.signingConfig = null
    }
} else {
    println 'signing.properties not found'
    android.buildTypes.release.signingConfig = null
}

apply plugin: 'com.google.gms.google-services'

最佳答案

尝试将 play-service-ads 降级到 16.0.0

就我而言,它解决了问题。

关于java - 错误 : 'com.android.build.api.transform.TransformException: Error while generating the main dex list.' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53254376/

相关文章:

node.js - 用户登录时 Firebase 创建条目

python - 如何在 Python 中将文档 ID 添加到 firestore 文档

java - 在已部署的 Apache 6.0 中转换 XML 时可能出现的错误

java - 在java中验证日期

java - 我应该将 java Stream.map 函数与 switch 语句一起使用吗?

android - 使特定代码在后台运行

c# - Xamarin.Forms 不可点击的 ListView(移除选择涟漪效应)

android - 从 viewPager 中的 fragment 隐藏父 fragment

android - 我应该在哪里为新的 Android Studio 项目中的 firebase 添加项目级依赖项

Java 有界通配符类型