【问题标题】:Signed APK build failure re:play-services-ads-identifier.properties collision签名的 APK 构建失败 re:play-services-ads-identifier.properties 冲突
【发布时间】:2020-02-25 20:04:30
【问题描述】:

我仅在签名 APK 构建期间遇到构建错误。以前签名的 APK 构建工作没有问题。自上次签署 APK Build 以来唯一的变化是我已更新到新的 Android Studio 3.6 -Build #AI-192.7142.36.36.6200805。

构建输出是: FAILURE:构建失败并出现异常。

  • 出了什么问题: 任务 ':app:packageDebug' 执行失败。

    执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade 时发生故障 条目名称“play-services-ads-identifier.properties”发生冲突

build.gradle(:app)

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

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.clearnetsolutions.qrverify"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.zxing:core:3.3.2'
    implementation 'com.google.android.gms:play-services-vision:19.0.0'
    implementation 'com.google.firebase:firebase-firestore:21.4.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'com.google.firebase:firebase-analytics:17.2.2'
    implementation 'com.google.firebase:firebase-auth:19.2.0'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.google.android.material:material:1.1.0'


}

build.gradle(项目)

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

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.0'
        classpath 'com.google.gms:google-services:4.3.3'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

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

如果我构建一个未签名的 APK:

> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :app:compileDebugAidl NO-SOURCE
> Task :app:generateDebugBuildConfig UP-TO-DATE
> Task :app:compileDebugRenderscript NO-SOURCE
> Task :app:javaPreCompileDebug UP-TO-DATE
> Task :app:mainApkListPersistenceDebug UP-TO-DATE
> Task :app:generateDebugResValues UP-TO-DATE
> Task :app:generateDebugResources UP-TO-DATE
> Task :app:processDebugGoogleServices UP-TO-DATE
> Task :app:mergeDebugResources UP-TO-DATE
> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
> Task :app:extractDeepLinksDebug UP-TO-DATE
> Task :app:processDebugManifest UP-TO-DATE
> Task :app:processDebugResources UP-TO-DATE
> Task :app:compileDebugJavaWithJavac UP-TO-DATE
> Task :app:compileDebugSources UP-TO-DATE
> Task :app:mergeDebugShaders UP-TO-DATE
> Task :app:compileDebugShaders UP-TO-DATE
> Task :app:generateDebugAssets UP-TO-DATE
> Task :app:mergeDebugAssets UP-TO-DATE
> Task :app:processDebugJavaRes NO-SOURCE
> Task :app:mergeDebugJavaResource UP-TO-DATE
> Task :app:dexBuilderDebug UP-TO-DATE
> Task :app:checkDebugDuplicateClasses UP-TO-DATE
> Task :app:multiDexListDebug UP-TO-DATE
> Task :app:mergeDexDebug UP-TO-DATE
> Task :app:mergeDebugJniLibFolders UP-TO-DATE
> Task :app:mergeDebugNativeLibs UP-TO-DATE
> Task :app:stripDebugDebugSymbols UP-TO-DATE
> Task :app:validateSigningDebug UP-TO-DATE
> Task :app:packageDebug
> Task :app:assembleDebug

BUILD SUCCESSFUL in 1s
24 actionable tasks: 1 executed, 23 up-to-date

如果我构建一个签名的 APK:

> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :app:compileDebugAidl NO-SOURCE
> Task :app:generateDebugBuildConfig UP-TO-DATE
> Task :app:compileDebugRenderscript NO-SOURCE
> Task :app:javaPreCompileDebug UP-TO-DATE
> Task :app:mainApkListPersistenceDebug UP-TO-DATE
> Task :app:generateDebugResValues UP-TO-DATE
> Task :app:generateDebugResources UP-TO-DATE
> Task :app:processDebugGoogleServices UP-TO-DATE
> Task :app:mergeDebugResources UP-TO-DATE
> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
> Task :app:extractDeepLinksDebug UP-TO-DATE
> Task :app:processDebugManifest UP-TO-DATE
> Task :app:processDebugResources UP-TO-DATE
> Task :app:compileDebugJavaWithJavac UP-TO-DATE
> Task :app:compileDebugSources UP-TO-DATE
> Task :app:mergeDebugShaders UP-TO-DATE
> Task :app:compileDebugShaders UP-TO-DATE
> Task :app:generateDebugAssets UP-TO-DATE
> Task :app:mergeDebugAssets UP-TO-DATE
> Task :app:processDebugJavaRes NO-SOURCE
> Task :app:mergeDebugJavaResource UP-TO-DATE
> Task :app:checkDebugDuplicateClasses UP-TO-DATE
> Task :app:dexBuilderDebug UP-TO-DATE
> Task :app:multiDexListDebug UP-TO-DATE
> Task :app:mergeDexDebug UP-TO-DATE
> Task :app:mergeDebugJniLibFolders UP-TO-DATE
> Task :app:mergeDebugNativeLibs UP-TO-DATE
> Task :app:stripDebugDebugSymbols UP-TO-DATE
> Task :app:validateSigningDebug UP-TO-DATE
> Task :app:packageDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:packageDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Entry name 'play-services-ads-identifier.properties' collided

* 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 982ms
24 actionable tasks: 1 executed, 23 up-to-date

我不确定如何更新或解决 :app:packageDebug 问题?和/或识别 play-services-ads-identifier.properties 冲突?

【问题讨论】:

    标签: android android-studio gradle


    【解决方案1】:

    我似乎已经通过删除位于 app/debug 目录中的 apk 和 json 文件解决了这个问题。

    删除后,签名的APK构建成功完成。

    【讨论】:

    • 为什么会发生这种情况?我花了 2 天时间将我的代码上传到 github,然后一次又一次地删除我的本地文件并克隆我的 repo。
    • 说实话,我不确定为什么会出现这个错误。我的猜测是,无论是由于尝试生成大量签名的 APK 还是与调试 apk 相关的一些过期因素,都会出现签名不匹配的情况......但奇怪的是 - 这个解决方案是我可以继续的唯一方法。
    • Just Clean + 重建对我来说效果很好(构建菜单 + 清洁项目)。谢谢!
    【解决方案2】:

    删除app\build\outputs\apkdebugrelease)目录中的所有文件夹。然后是clean projectrebuild project,最后是Run 你的项目。就我而言,我也面临在模拟器中运行 APK 的问题,我通过这样做解决了它。

    【讨论】:

      【解决方案3】:

      通过转到Build -> Clean 清理构建,为我修复了它。

      【讨论】:

        【解决方案4】:

        我观察到 gradle 版本的问题:com.android.tools.build:gradle:4.1.0

        在项目级别build.gradle文件中将版本升级为4.1.2,如下所示,然后在运行Build->Clean后再次生成apk而没有错误(在我的情况下,只需清理没有版本升级并不能解决错误):

        buildscript {
            repositories {
                google()
                jcenter()
            }
            dependencies {
                classpath "com.android.tools.build:gradle:4.1.2"
        
                // NOTE: Do not place your application dependencies here; they belong
                // in the individual module build.gradle files
            }
        } 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-07
          • 1970-01-01
          • 1970-01-01
          • 2023-04-04
          • 2018-11-18
          • 1970-01-01
          • 1970-01-01
          • 2021-03-09
          相关资源
          最近更新 更多