React-native error: Manifest merger failed
React-native error: Manifest merger failed
运行 我的应用出现此错误:
Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86
is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:7:5-117 to override.
我尝试添加到 gradle.properties
android.useAndroidX=true
android.enableJetifier=true
还有(Android清单)
tools:replace="android:appComponentFactory"
android:appComponentFactory="whateverString"
还有(至build.gradle)
implementation "androidx.appcompat:appcompat:1.0.0"
替换之前的
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
但对我不起作用。
-- Android Manifest.xml --
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
--build.gradle--
dependencies {
implementation project(':react-native-exit-app')
implementation project(':react-native-firebase')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompatv7:
${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
implementation "com.google.android.gms:play-services-base:16.1.0"
implementation "com.google.firebase:firebase-core:17.0.0"
implementation 'com.google.firebase:firebase-auth:18.0.0'
implementation 'com.google.firebase:firebase-database:18.0.0'
}
这意味着您的库之一正在使用 AndroidX。因此,您必须将您的应用程序转换为 AndroidX。
- android.useAndroidX=true android.enableJetifier=true 将这些行放入 gradle.properties.
- npm 安装--save-dev 喷射器
- npx jetify
- npx react-native run-android(您的应用应该可以正确编译和运行)
- 在 package.json 的安装后目标中调用 npx jetify 运行(任何时候您的依赖项更新都必须再次 jetify)
运行 我的应用出现此错误:
Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86
is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:7:5-117 to override.
我尝试添加到 gradle.properties
android.useAndroidX=true
android.enableJetifier=true
还有(Android清单)
tools:replace="android:appComponentFactory"
android:appComponentFactory="whateverString"
还有(至build.gradle)
implementation "androidx.appcompat:appcompat:1.0.0"
替换之前的
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
但对我不起作用。
-- Android Manifest.xml --
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
--build.gradle--
dependencies {
implementation project(':react-native-exit-app')
implementation project(':react-native-firebase')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompatv7:
${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
implementation "com.google.android.gms:play-services-base:16.1.0"
implementation "com.google.firebase:firebase-core:17.0.0"
implementation 'com.google.firebase:firebase-auth:18.0.0'
implementation 'com.google.firebase:firebase-database:18.0.0'
}
这意味着您的库之一正在使用 AndroidX。因此,您必须将您的应用程序转换为 AndroidX。
- android.useAndroidX=true android.enableJetifier=true 将这些行放入 gradle.properties.
- npm 安装--save-dev 喷射器
- npx jetify
- npx react-native run-android(您的应用应该可以正确编译和运行)
- 在 package.json 的安装后目标中调用 npx jetify 运行(任何时候您的依赖项更新都必须再次 jetify)