如何解决构建失败,缺少“包”关键属性
我正在尝试生成签名的 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
解决方法
这可能是因为 Android 团队对 Gradle 进行了一些更改。现在,如果您的 Gradle 版本低于 4.1,您可能会看到以下一个或多个错误:
- Android 资源链接失败 /Users/sample/AndroidStudioProjects/MyApp/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml:18:错误:在
<queries>
中发现意外元素<manifest>
立> - 清单合并因多个错误而失败,请参阅日志
- 错误:缺少元素包上的“包”关键属性
为了解决这些问题,他们建议做以下两件事之一:
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 版本来坚持使用当前版本,而不必担心兼容性问题。
您当前的版本 | 点释放等效 |
---|---|
4.1.* | 无需升级 |
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 中的变化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。