You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android清单合并失败求助:support-v4与percent库版本冲突

解决Manifest merger failed: meta-data#android.support.VERSION重复冲突问题

咱们一步步来搞定这个Manifest合并冲突的问题。这是很常见的支持库版本不一致导致的错误,而且我注意到你的项目里同时混用了AndroidX和旧的com.android.support库,这也是问题的核心之一。下面给你两种解决方案,按需选择:

方案一:快速修复冲突(不迁移AndroidX)

如果暂时不想切换到AndroidX,可以通过统一支持库版本+Manifest配置快速解决:

  1. 清理重复依赖
    你的dependencies里同时引入了AndroidX和旧support版本的百分比布局库,功能完全重复,直接删除旧版本的依赖:

    // 删除这一行
    implementation 'com.android.support:percent:26.0.2'
    
  2. 强制统一所有support库版本
    在app模块的build.gradle中添加版本强制策略,确保所有com.android.support相关库使用同一个版本(这里用和你的compileSdkVersion匹配的28.0.0):

    android {
        // 保留你原有的配置...
    }
    
    // 添加这段版本统一配置
    configurations.all {
        resolutionStrategy.force 'com.android.support:support-v4:28.0.0'
        resolutionStrategy.force 'com.android.support:support-annotations:28.0.0'
    }
    
    dependencies {
        // 保留你修改后的依赖...
    }
    
  3. 按照系统提示修改AndroidManifest.xml
    首先确保Manifest根元素包含tools命名空间,如果没有就加上:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="tw.com.iac.sam_qw25">
    

    然后找到冲突的meta-data元素,添加tools:replace="android:value"属性来指定使用统一后的版本:

    <meta-data
        android:name="android.support.VERSION"
        android:value="28.0.0"
        tools:replace="android:value" />
    

方案二:彻底迁移到AndroidX(推荐)

旧的com.android.support库已经停止维护,AndroidX是官方推荐的替代方案,彻底迁移可以从根源上避免后续的版本冲突:

  1. 替换所有旧support依赖为AndroidX版本
    修改app模块的dependencies,把旧support库替换成对应的AndroidX库:

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.google.android.support:wearable:2.4.0'
        implementation 'com.google.android.gms:play-services-wearable:16.0.1'
        implementation 'androidx.percentlayout:percentlayout:1.0.0'
        // 移除了重复的com.android.support:percent:26.0.2
        implementation 'androidx.recyclerview:recyclerview:1.0.0'
        compileOnly 'com.google.android.wearable:wearable:2.4.0'
        // 替换为AndroidX版本的约束布局
        implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
        testImplementation 'junit:junit:4.12'
        // 替换为AndroidX版本的Espresso
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    }
    
  2. 启用AndroidX和Jetifier
    在项目根目录的gradle.properties文件中添加以下配置(如果没有这个文件就新建一个):

    android.useAndroidX=true
    android.enableJetifier=true
    

    Jetifier会自动将第三方依赖中的旧support库转换为AndroidX版本,彻底避免依赖冲突。

  3. 同步并重构项目
    点击Android Studio菜单栏的Build -> Clean Project,然后选择Rebuild Project,等待构建完成即可。

为什么会出现这个错误?

当你的项目引入多个不同版本的com.android.support库时,每个库的AndroidManifest.xml中都会包含android.support.VERSION这个元数据,Manifest合并工具无法确定使用哪个版本,就会抛出冲突错误。另外,同时混用AndroidX和旧support库会导致更复杂的依赖冲突——因为两者的命名空间完全不同,所以建议要么统一使用旧support库(版本保持一致),要么彻底迁移到AndroidX。

内容的提问来源于stack exchange,提问作者Sam Shih

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 08:47:53