【问题标题】:Build Failed, Missing 'package' key attribute构建失败,缺少“包”关键属性
【发布时间】:2021-04-24 07:28:13
【问题描述】:

我正在尝试生成签名的 apk,但我不断收到此错误。我在谷歌上搜索了这个错误,但没有找到任何可靠的东西。任何帮助都会很棒。谢谢。

Task :app:processReleaseManifest FAILED [com.facebook.android:audience-network-sdk:6.4.0] /Users/xxxx/.gradle/caches/transforms-2/files-2.1/1208b0b00589b6f8b9220695fa10ec7b/audience-network-sdk-6.4.0/AndroidManifest.xml:12:9-55 Error:  Missing 'package' key attribute on element package at [com.facebook.android:audience-network-sdk:6.4.0] AndroidManifest.xml:12:9-55 [com.facebook.android:audience-network-sdk:6.4.0] /Users/xxxx/.gradle/caches/transforms-2/files-2.1/1208b0b00589b6f8b9220695fa10ec7b/audience-network-sdk-6.4.0/AndroidManifest.xml Error:  Validation failed, exiting

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.


Execution failed for task ':app:processReleaseManifest'.
> Manifest merger failed with multiple errors, see logs

【问题讨论】:

    标签: java android android-manifest


    【解决方案1】:

    这可能是因为 Android 团队对 Gradle 进行了一些更改。现在,如果您的 Gradle 版本低于 4.1,您可能会看到以下一个或多个错误:

    • Android 资源链接失败 /Users/sample/AndroidStudioProjects/MyApp/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml:18: 错误:在<manifest> 中找到意外元素<queries>
    • 清单合并失败并出现多个错误,请参阅日志
    • 错误:元素包上缺少“包”键属性

    为了解决这些问题,他们建议做以下两件事之一:

    1.将您的 Gradle 升级到 4.1 或更高版本

    只需通过更改类路径中的版本来更新您的 build.gradle 文件。

    buildscript {
        repositories {
            // Gradle 4.1 and higher include support for Google's Maven repo using
            // the google() method. And you need to include this repo to download
            // Android Gradle plugin 3.0.0 or higher.
            google()
            ...
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:4.2.0' //change it here
        }
    }
    

    2。将您的 Gradle 更新到与您当前版本兼容的版本

    如果您不想将 Gradle 更新到最新版本,您可以通过将其更改为与您正在使用的版本等效的 dot 版本来保持当前版本,而不必担心兼容性问题。

    Your current version Dot release equivalent
    4.1.* No upgraded needed
    4.0.* 4.0.1
    3.6.* 3.6.4
    3.5.* 3.5.4
    3.4.* 3.4.3
    3.3.* 3.3.3

    例如,如果您在 4.0.0 上运行您的应用,您只需在 build.gradle 文件中将其更改为 4.0.1:

     buildscript {
    
        repositories {
            google()
            jcenter()
        }
    
        dependencies {
            // classpath 'com.android.tools.build:gradle:4.0.0'
            classpath 'com.android.tools.build:gradle:4.0.1'
        }
    }
    

    如果您的应用依赖于第三方 API 或旧的 Gradle 版本,Google 建议使用第二个选项。

    不过,我们知道并非所有人都准备好升级到最新版本,而且您可能依赖于旧版本的 Gradle 或与 4.1 不兼容的库。

    您可以在他们的official post here 中详细了解更改内容。

    【讨论】:

      猜你喜欢
      • 2016-02-25
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-20
      • 2011-03-22
      • 2018-05-28
      相关资源
      最近更新 更多