Execution failed for task ':app:processDebugManifest'

导入包 butterknife 包出现 [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory)

butterknife 包最新地址: https://github.com/JakeWharton/butterknife
implementation ‘com.jakewharton:butterknife:10.0.0’
annotationProcessor ‘com.jakewharton:butterknife-compiler:10.0.0’

出错详细信息

Manifest merger failed : 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 element at AndroidManifest.xml:5:5-20:19 to override.
Execution failed for task ':app:processDebugManifest'_第1张图片

解决方法一:添加 useAndroidX 和 enableJetifier 如图添加

android.useAndroidX=true
android.enableJetifier=true

Execution failed for task ':app:processDebugManifest'_第2张图片

注:
此方法不需要添加 classpath ‘com.jakewharton:butterknife-gradle-plugin:10.0.0’
不过会把 import android.support.v7.app.AppCompatActivity 修改成 import androidx.appcompat.app.AppCompatActivity
也就是会全部引用 androidx 包

解决方法二:直接使用版本低一点的包,如图

把module下面的build.gradle最上面引入的插件删掉,不管是下面这两个中的哪一个,都删掉

apply plugin: ‘com.neenbedankt.android-apt’
apply plugin: ‘android-apt

在module下的build.gradle中的依赖修改为:(只需要这两个)
// butterknife 组件注入

implementation'com.jakewharton:butterknife:8.6.0'
annotationProcessor'com.jakewharton:butterknife-compiler:8.6.0'

Execution failed for task ':app:processDebugManifest'_第3张图片

注: 这样使用的andoid包还是原来的
import android.support.v7.app.AppCompatActivity

你可能感兴趣的:(Android)