这说明你给manifest添加了属性tools:replace
例如:
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:appComponentFactory">
解析:
你有多个依赖中的manifest中都存在android:appComponentFactory
这个属性,但他们的值不一样,所以gradle就无法自动合并manifest。在<application>
标签里先声明tools:replace="android:appComponentFactory"
, 表示要手动指定那个属性,然后再声明android:appComponentFactory
属性,手动指定该属性的值,即可。
报错but no new value specified意思是你没有继续声明android:appComponentFactory
, 加上即可,例如:
<application
android:name=".MyApplication"
android:allowBackup="true"
android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:appComponentFactory">
我遇到的是android:appComponentFactory
,具体你要替换的属性的值在提示加replace的错误log里有。