我还有下一年级

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

当前回答

除非你不想使用androidx

所以在我的情况下,我正在使用一个使用androidx的库,但我不使用androidx,所以当我降级该库版本的问题得到了解决。

就我而言:

implementation 'com.github.turing-tech:MaterialScrollBar:13.+'

上述图书馆构成了问题13。+将自动获得一个使用androidx的新版本的库。所以我把库版本降级为:

implementation 'com.github.turing-tech:MaterialScrollBar:13.2.5'

问题解决了。

其他回答

从Android P开始,支持库已经转移到AndroidX

请从本页重构你的库。

https://developer.android.com/topic/libraries/support-library/refactor

创建新项目并比较构建。并替换了所有Gradle文件

implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.1'

与其他依赖项相同的是在一个新项目中 就像这样

implementation 'androidx.appcompat:appcompat:1.0.0-alpha3'

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1'

androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'

androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'

implementation 'androidx.core:core-ktx:1.0.0-alpha3'

然后固定导入在kotlin文件中使用androidx。

如果您不打算迁移到AndroidX,请遵循以下步骤

在终端类型gradlew app:dependencies中 当依赖项显示在窗口中后,按Ctrl+f并输入androidX 你会发现所有在内部使用androidx lib的依赖项,你可能不得不降级它或使用替代,以确保它不再在内部使用androidx lib。

在可能的情况下,我不想传递到androidX。我得检查一下我最后的改动。我发现新组件是——> lottie 2.8.0

所以我把它降级为:实现'com.airbnb.android:lottie:2.7.0'

这个问题主要发生在旧的依赖项上。

有两种解决方案:

第一个:

更新项目级gradle文件中所有旧的依赖项和类路径。

classpath 'com.android.tools.build:gradle:3.3.1'
classpath 'com.google.gms:google-services:4.2.0'

第二个:

你的项目迁移到AndroidX

从Android Studio菜单> Refanctor >迁移到AndroidX

谢谢,如果有人从这个答案中得到帮助,请告诉我。