Проблемы слияния с Лотти - PullRequest
       11

Проблемы слияния с Лотти

0 голосов
/ 20 октября 2018

Я начинал с Лотти, когда натолкнулся на эту ошибку.Я добавил зависимость к своему build.gradle

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'org.jsoup:jsoup:1.11.2'
implementation 'com.airbnb.android:lottie:2.8.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha06'
implementation 'android.arch.navigation:navigation-ui:1.0.0-alpha06'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
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.airbnb.android:lottie:2.8.0' сборка завершается успешно, но я не могу запустить свое приложение, поскольку в объединении манифестов есть ошибка.

Merging Errors: Error: Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from AndroidManifest.xml:22:18-86 is also present at AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:14:5-35:19 to override. app main manifest (this file), line 21 

Вот мой Manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:dist="http://schemas.android.com/apk/distribution"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.rishav.sanfoundryfer">

    <dist:module dist:instant="true" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:logo="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">
        <activity android:name=".QuestionActivity"
            android:label="MCQs"/>
        <activity android:name=".TopicActivity"
            android:label="Select Topic"/>
        <activity android:name=".SubjectActivity"
            android:label="Select Subject"/>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Предложение:

добавить 'tools:replace="android:appComponentFactory"' к <application> элементу в AndroidManifest.xml:14:5-35:19, чтобы переопределить основной манифест (этот файл), строка 21

0 голосов
/ 22 октября 2018

Тот факт, что ошибка имеет androidx.core.app.CoreComponentFactory, указывает на то, что используются новые пакеты библиотек поддержки "Jetpack".То, что ваш манифест использует «старые» пакеты, указывает на тот факт, что он, вероятно, используется lottie.
Вы можете убедиться в этом, проверив библиотеку.
Для решения проблемы вы можете использоватьболее старая библиотека lottie, начните использовать пакеты библиотеки поддержки Jetpack или разрешите объединение вручную.Вы можете взглянуть на объединенный манифест, если перейдете к AndroidManifest.xml и переключитесь на вкладку Merged Manifest в нижней части окна.

...