android - 添加 'tools:replace="安卓 :value"' to <meta-data> element at AndroidManifest

标签 android android-studio gradle android-manifest android-support-library

我正在关注 HeadFirst Android 开发中的教程,添加后遇到问题: 私有(private) ActionBarDrawerToggle 抽屉切换;

该控件已弃用,因此我按照 Stack 上的说明通过将 com.android.support:appcompat-v7:26.0.0-alpha1 添加到应用模块依赖项来解决该问题

但现在我收到以下构建错误:

错误:任务 ':app:processDebugManifest' 执行失败。

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from [com.android.support:recyclerview-v7:25.3.1] AndroidManifest.xml:24:9-31 is also present at [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1). Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:22:5-24:34 to override.

代码如下:

最佳答案

问题是所有具有相同版本和主版本的支持库必须匹配编译SDK版本。

所以尝试强制一个特定的支持库版本。 将其放在 build.gradle 中应用模块的末尾。

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.3.0'
            }
        }
    }
}

关于android - 添加 'tools:replace="安卓 :value"' to <meta-data> element at AndroidManifest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43140059/

相关文章:

android - OutOfMemoryError - 使用位图破坏堆大小

php - 如何检测 Android 应用程序的卸载并从服务器中删除相关用户的数据?

Android Studio - 如何在 Java/Kotlin 模块中指定 "-jvm-target"选项?

android - 如何在 git 提交历史记录中删除敏感数据(API_KEY)?

gradle - 使用 Java 11 运行 Sonar Scanner 时主版本号错误

android - 如何在 map 上显示比例尺和缩放控件?

android - android 中 scrollTo() 的问题

java - 我可以在 Android Studio 中调试时退回到之前的断点吗? (掉帧)

android - SD 卡(在 AVD 中创建)在 Android Studio 模拟器中显示为 "removed"

Gradle已从服务器: Forbidden接收到状态码403