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'
}
私はエラーの原因を知っていると思います、依存関係を見ると、異なる名前の2つの冗長パッケージがあります
com.Android.support.constraint:constraint-layout:1.1.0 androidx.constraintlayout:constraintlayout:1.1.
ただし、一部のパッケージで使用されているため、どちらも削除できません。私は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;
前もって感謝します。
エラーは、レイアウトConstraintLayout
ファイルでxml
を使用していることを示しています。
ライブラリの1つのバージョンのみを保持し、XMLでそのバージョンのConstraintLayoutを使用していることを確認してください。
したがって、androidx
を保持する場合は、レイアウトファイルを確認し、androidx.constraintlayout.ConstraintLayout
を使用していること、およびnotAndroid.support.constraint.ConstraintLayout
を使用していることを確認してください。
com.Android.support.constraint:constraint-layout
とandroidx.constraintlayout:constraintlayout
を同時に参照しないように注意してください。一方(できればandroidx)で解決し、もう一方を削除して、レイアウトファイルでもパッケージ名が一致していることを確認します。これで問題は解決しました。
私も同じ問題を抱えていました。私はAndroid.Arch.coreライブラリに2つの異なるバージョンを使用していました。したがって、それらのバージョンを修正することは助けになりました。アプリケーション全体で1つのバージョンを使用してみてください。
ありがとう