Error:Program type already present: androidx.versionedparcelable.NonParcelField

今天项目添加一个module,先是出现

Error:D:\ASworkSpace2.3\AndroidMaster\app\src\main\AndroidManifest.xml:22:18-91 Error:
    Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:64:5-120:19 to override.
FAILURE: Build failed with an exception.


在清单文件application加

tools:replace="android:appComponentFactory"
然后出现

Error:D:\ASworkSpace2.3\AndroidMaster\app\src\main\AndroidManifest.xml:64:5-120:19 Error:
    tools:replace specified at line:64 for attribute android:appComponentFactory, but no new value specified
D:\ASworkSpace2.3\AndroidMaster\app\src\main\AndroidManifest.xml Error:
    Validation failed, exiting

在清单文件application加了

android:appComponentFactory="随便写"

接着出现了BUILD FAILED in 10s
Error:Program type already present: androidx.versionedparcelable.NonParcelField
出现我的项目和引入的项目都有versionedparcelable  
在文件gradle.properties这里添加
android.useAndroidX=true
android.enableJetifier=true

这回编译终于不出错了,但是运行还是报androidx.versionedparcelable.NonParcelField
最后找到问题了:::::
用的依赖库文件用了
implementation 'androidx.appcompat:appcompat:1.0.0'
而自己的项目也需要用implementation 'androidx.appcompat:appcompat:1.0.0'
但是项目中之前用的是
implementation 'com.android.support:appcompat-v7:28.0.0'

这两个有冲突,需要把appcompat-v7:28.0.0去掉,将项目用到这个包的都换成androidx的,就可以了

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值