我还有下一年级

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.android.material:material:1.0.0-rc01'
}

但当我想要构建应用程序时,我得到下一个日志:

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0-alpha3] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.

好!去显化并去做:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="ru.chopcode.myapplication">

    <application
        tools:replace="android:appComponentFactory"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
    </application>

</manifest>

然后我在我的Logcat中得到这个错误:

Manifest merger failed with multiple errors, see logs that I have Linked with it

当前回答

把机器人移走。支持依存关系

    implementation 'com.android.support:appcompat-v7:28.0.0-rc01'

引用材料指南

如果你还不想切换到新的androidx和com.google.android.material包,你可以通过com.android.support:design:28.0.0-alpha3依赖使用Material Components。 注意:你不应该在你的应用程序中同时使用com.android.support和com.google.android.dependencies。

仅仅删除这个依赖就可以了

    implementation 'com.android.support:appcompat-v7:28.0.0-rc01'

这是一个完整的依赖示例

    dependencies {
       implementation fileTree(dir: 'libs', include: ['*.jar'])
       implementation 'com.google.android.material:material:1.0.0-beta01'
       implementation 'com.android.support.constraint:constraint-layout:1.1.2'
       testImplementation 'junit:junit:4.12'
       androidTestImplementation 'com.android.support.test:runner:1.0.2'
       androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
   }

其他回答

只需将依赖项内第一行和最后一行中的“rc01”更改为“alpha1” 这对我很有用

为了解决这个问题,我建议显式地定义ext变量的版本 在android/build。Gradle你的根项目

ext {
    googlePlayServicesVersion = "16.1.0" // default: "+"
    firebaseVersion = "15.0.2" // default: "+"

    // Other settings
    compileSdkVersion = <Your compile SDK version> // default: 23
    buildToolsVersion = "<Your build tools version>" // default: "23.0.1"
    targetSdkVersion = <Your target SDK version> // default: 23
    supportLibVersion = "<Your support lib version>" // default: 23.1.1
}

参考 https://github.com/zo0r/react-native-push-notification/issues/1109#issuecomment-506414941

试试这个

tools:replace="android:appComponentFactory"
android:appComponentFactory="android.support.v4.app.CoreComponentFactory"

重新构建项目。

只需将这两行代码添加到您的Manifest文件中

tools:replace="android:appComponentFactory"
android:appComponentFactory="whateverString"

同样的问题我已经有三天了。

这就像android希望我们要么使用Kotlin,要么使用AndroidX,他们正在抛弃android。

但我是这样解出来的。

我将项目迁移到AndroidX上。这不会带来任何与此问题相关的错误,它会分别更新文件。在应用程序中不需要更改任何方法、类或变量名。

注意:您必须使用最新的库(build。在android studio 3.4.1的最新稳定版本中