[英]How to fix 'Manifest merger failed' in react-native android?
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). 清单合并失败:[com.android.support:support-compat:28.0.0]的属性application @ appComponentFactory value =(android.support.v4.app.CoreComponentFactory)来自AndroidManifest.xml:22:18-91 [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:11:5-60:19 to override.
建议:在AndroidManifest.xml:11:5-60:19的元素上添加'tools:replace =“ android:appComponentFactory”'以进行覆盖。
This is after upgrading react-native version 这是在升级本机版本之后
build.gradle build.gradle
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.rugbyvault"
minSdkVersion 16
targetSdkVersion 28
versionCode 16
versionName "1.0"
multiDexEnabled true
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
}
dependencies {
implementation project(':tipsi-stripe')
implementation project(':react-native-splash-screen')
implementation project(':react-native-linear-gradient')
implementation project(':react-native-keep-awake')
implementation project(':react-native-code-push')
implementation project(':react-native-sound')
implementation(project(':react-native-firebase')) {
transitive = false
}
implementation project(':react-native-svg')
implementation project(':instabug-reactnative')
implementation project(':react-native-picker')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'com.android.support:multidex:1.0.3'
//noinspection GradleCompatible
implementation "com.android.support:appcompat-v7:28.0.0"
implementation "com.facebook.react:react-native:+" // From node_modules
implementation "com.google.android.gms:play-services-base:17.0.0"
implementation 'com.google.firebase:firebase-core:17.0.0'
implementation 'com.google.firebase:firebase-auth:17.0.0'
implementation 'com.google.android.gms:play-services-wallet:17.0.0'
implementation 'com.google.firebase:firebase-messaging:17.0.0'
}
It seems that latest version of react-native uses AndroidX libraries. 似乎最新版本的react-native使用AndroidX库。 So you need to upgrade your dependencies (in your case: appcompat and multidex ) to AndroidX.
因此,您需要将依赖项(在您的情况下: appcompat和multidex )升级到AndroidX。
FYI: AndroidX ( androidx.* ) is new bundle of android support libraries ( com.android.support.* ). 仅供参考:AndroidX( androidx。* )是新的android支持库捆绑包( com.android.support。* )。
You should replace this lines: 您应该替换以下行:
implementation 'com.android.support:multidex:1.0.3'
implementation "com.android.support:appcompat-v7:28.0.0"
With this ones: 有了这些:
implementation 'androidx.multidex:multidex::2.0.1'
implementation "androidx.appcompat:appcompat:1.0.2"
gradle.properties
can fix some relative issues:
gradle.properties
可以解决一些相关问题:
android.enableJetifier=true android.useAndroidX=true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.