Тип программы уже присутствует: android.support.constraint.BuildConfig - PullRequest
0 голосов
/ 10 мая 2018

build.gradle (Модуль: приложение)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-P'
    buildToolsVersion '27.0.3'
    defaultConfig {
        multiDexEnabled true
        applicationId "tk.megh.myapplication"
        minSdkVersion 'P'
        targetSdkVersion 'P'
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        preDexLibraries = false
    }
}



dependencies {
    implementation 'com.android.support:multidex:1.0.1'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.0'
    androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.android.support:appcompat-v7:+'
    testImplementation 'junit:junit:4.12'

}

Ну, я думаю, я знаю, что вызывает ошибку, если вы посмотрите на зависимости, есть два избыточных пакета с разными именами

com.android.support.constraint: расположение ограничений: 1.1.0 androidx.constraintlayout: ограничение ограничений: 1.1.0

Но я не могу удалить ни одно изих, потому что они используются некоторыми пакетами.Я новичок в разработке Android, поэтому я не имею ни малейшего представления об обходных путях.

Если я удаляю

implementation 'com.android.support.constraint:constraint-layout:1.1.0'

, я получаю эту ошибку при отладке:

    java.lang.RuntimeException: Unable to start activity 
ComponentInfo{tk.megh.myapplication/tk.megh.myapplication.MainActivity}: 
android.view.InflateException: Binary XML file line #2: Binary XML file 
line #2: Error inflating class android.support.constraint.ConstraintLayout

и если я удаляю

implementation 'androidx.constraintlayout:constraintlayout:1.1.0'

, я получаю следующую ошибку при отладке:

 java.lang.RuntimeException: Unable to start activity 
ComponentInfo{tk.megh.myapplication/tk.megh.myapplication.DisplayMessageActivity}: 
android.view.InflateException: Binary XML file line #2: Binary XML file line #2: 
Error inflating class androidx.constraintlayout.widget.ConstraintLayout

Дополнительные сведения:

импорт MainActivity.java :

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;

импорт DisplayMessageActivity.java :

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;   

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 13 мая 2018

Будьте осторожны, чтобы не ссылаться на com.android.support.constraint:constraint-layout и androidx.constraintlayout:constraintlayout одновременно. Установите один (предпочтительно androidx), удалите другой и убедитесь, что имена пакетов также совпадают в файлах макета. Это исправило проблему для меня.

0 голосов
/ 21 июня 2018

У меня тоже была такая же проблема.Я использовал две разные версии для библиотеки android.arch.core. Так что исправление этих версий помогло мне. Попробуйте использовать одну версию во всем приложении. Надеюсь, это кому-нибудь поможет.

Спасибо

0 голосов
/ 11 мая 2018

Ошибки указывают на то, что вы используете ConstraintLayout в макете xml файлов.

Сохраните только одну версию библиотеки и убедитесь, что вы используете ConstraintLayout этой версии в своих xmls.

Итак, если вы сохраните androidx, проверьте файлы макета и убедитесь, что вы используете androidx.constraintlayout.ConstraintLayout там, а не android.support.constraint.ConstraintLayout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...