Мы хотели бы использовать самые современные элементы дизайна материалов, представленные Google. Поэтому я добавил com.google.android.material:material:1.0.0-beta01
в нашем проекте gradle file. Но с тех пор я получаю следующую ошибку.
Ошибка манифестного слияния: приложение атрибута @appComponentFactory value = (androidx.core.app.CoreComponentFactory) из [androidx.core: core: 1.0.0-beta01] AndroidManifest.xml: 22: 18-86 также присутствует на [com.android.support: support-compat: 28.0.0-beta01] AndroidManifest.xml: 22: 18-91 value = (android.support.v4.app.CoreComponentFactory). Предложение: добавьте инструменты: replace = "android: appComponentFactory" в элемент AndroidManifest.xml: 5: 5-40: 19 для переопределения.
Без материальной библиотеки все работает нормально.
Что я уже пробовал
- Я изменил порядок зависимостей (которые явно не работали)
- Я также попытался добавить
tools:replace="android:appComponentFactory"
в наш файл манифеста, как это предлагается в сообщении об ошибке. Но это оставило меня с новым сообщением об ошибке:
java.lang.RuntimeException: сбой манифестового слияния с несколькими ошибками, см. журналы в com.android.builder.core.AndroidBuilder.mergeManifestsForApplication(AndroidBuilder.java:524) в com.android.build.gradle.tasks.ProcessManifest.doFullTaskAction(ProcessManifest.java: 75) at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:106)
Я проверил файл журнала, но единственное предупреждение, показанное в файле idea.log
2018-08-08 11: 08: 21,500 [thread 267] WARN -.tools.idea.model.ManifestInfo - getMergedManifest не удалось Манифест слияния с несколькими ошибками, см. Журналы 2018-08-08 11: 08: 21,642 [thread 267] WARN -.tools.idea.model.ManifestInfo - сбой getMergedManifest Ошибка слияния манифеста с несколькими ошибками, см. Журналы 2018-08-08 11: 08: 21,917 [J pool 0/7]
Больше информации
Версия API
android {
compileSdkVersion 28
buildToolsVersion '28.0.0'
defaultConfig {
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
}
(тот же API выбран в файле> структура проекта в Android Studio)
зависимости:
dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
/** ANDROID LIBRARIES **/
implementation 'com.android.support:multidex:1.0.2'
implementation 'com.android.support:appcompat-v7:28.0.0-beta01'
api 'com.android.support:support-v13:28.0.0-beta01'
api 'com.google.android.material:material:1.0.0-beta01'
api 'com.android.support:design:28.0.0-beta01'
api 'com.android.support:preference-v7:28.0.0-beta01'
api 'com.android.support:cardview-v7:28.0.0-beta01'
api 'com.android.support:customtabs:28.0.0-beta01'
api 'com.android.support:support-v4:28.0.0-beta01'
/** GOOGLE PLAY SERVICE **/
api 'com.google.android.gms:play-services-auth:15.0.1'
api 'com.google.android.gms:play-services-drive:15.0.1'
api 'com.google.android.gms:play-services-fitness:15.0.1'
api 'com.google.android.gms:play-services-maps:15.0.1'
api 'com.google.android.gms:play-services-wearable:15.0.1'
api 'com.google.android.gms:play-services-vision:15.0.2'
api 'com.google.firebase:firebase-core:16.0.1'
api 'com.google.firebase:firebase-perf:16.0.0'
api 'com.crashlytics.sdk.android:crashlytics:2.9.4'
//sunrise and sundown calculation for map day and night mode
api 'com.luckycatlabs:SunriseSunsetCalculator:1.2'
/** GOOGLE MAPS **/
implementation 'com.google.maps.android:android-maps-utils:0.5'
implementation 'com.google.code.gson:gson:2.8.0'
/** EXTERNAL LIBRARIES **/
implementation 'org.osmdroid:osmdroid-android:5.6.5'
implementation 'org.osmdroid:osmdroid-mapsforge:5.6.5'
implementation 'org.mapsforge:mapsforge-map-android:0.6.1'
implementation 'org.mapsforge:mapsforge-map:0.6.1'
implementation 'com.caverock:androidsvg:1.2.2-beta-1'
//dropbox api
implementation 'com.dropbox.core:dropbox-core-sdk:3.0.6'
androidTestImplementation 'junit:junit:4.12'
implementation files('libs/samsung-health-data-v1.3.0.jar')}
манифест
<manifest
package="com.user.libraries.bluetooth"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BODY_SENSORS" />
<uses-permission android:name="android.permission.VIBRATE"/>
<application
tools:replace="android:appComponentFactory"
android:allowBackup="true"
android:supportsRtl="true">
<service android:name="com.user.libraries.location.LocationService" />
<service android:name="com.user.libraries.location.BleLocationTrackerService" />
<service android:name="com.user.libraries.sensors.SensorService"/>
<service android:name="com.user.libraries.sharing.DataExchangerService"/>
<receiver
android:name="com.user.libraries.bluetooth.BluetoothStateReceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.bluetooth.adapter.action.STATE_CHANGED"/>
</intent-filter>
</receiver>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
</application>
Любая идея, как я могу решить эту проблему?