Android Studioメニューオプションリファクタリング-> AndroidXにリファクタリングを使用してandroidxに移行しました。
次のエラーが表示されます。
Android.view.InflateException:バイナリXMLファイルの行#2:バイナリXMLファイルの行#2:クラスの膨張エラーandroidx.constraintlayout.ConstraintLayout
何か案が?
スタックトレース:
2018-10-19 00:25:58.128 28131-28131/com.midounoo.midounoo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.midounoo.midounoo, PID: 28131
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.midounoo.midounoo/com.midounoo.midounoo.Base.MainActivity}: Android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2724)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2789)
at Android.app.ActivityThread.-wrap12(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1527)
at Android.os.Handler.dispatchMessage(Handler.Java:110)
at Android.os.Looper.loop(Looper.Java:203)
at Android.app.ActivityThread.main(ActivityThread.Java:6255)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1063)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:924)
Caused by: Android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
Caused by: Android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
Caused by: Java.lang.ClassNotFoundException: Didn't find class "androidx.constraintlayout.ConstraintLayout" on path: DexPathList[[Zip file "/data/app/com.midounoo.midounoo-2/base.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_dependencies_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_0_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_1_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_2_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_3_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_4_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_5_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_6_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_7_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_8_apk.apk", Zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.midounoo.midounoo-2/lib/arm64, /system/lib64, /vendor/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:380)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:312)
at Android.view.LayoutInflater.createView(LayoutInflater.Java:609)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:787)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:727)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:495)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:426)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.Java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.Java:140)
at com.midounoo.midounoo.Base.MainActivity.onCreate(MainActivity.Java:43)
at Android.app.Activity.performCreate(Activity.Java:6666)
at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1118)
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2677)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2789)
at Android.app.ActivityThread.-wrap12(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1527)
at Android.os.Handler.dispatchMessage(Handler.Java:110)
at Android.os.Looper.loop(Looper.Java:203)
at Android.app.ActivityThread.main(ActivityThread.Java:6255)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1063)
すべての発生を変更することで問題を解決します
androidx.constraintlayout.ConstraintLayout
に
androidx.constraintlayout.widget.ConstraintLayout
androidx.constraintlayout.ConstraintLayout
を依存関係に追加します。
dependencies {
// https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout
implementation "androidx.constraintlayout:constraintlayout:1.1.3"
}
リポジトリはmavenCentral()
です。
GradleファイルのリポジトリとしてmavenCentral()を追加し、androidx.constraintlayout.ConstraintLayout
をandroidx.constraintlayout.widget.ConstraintLayout
に変更しても問題が解決しない場合次に、ファイルメニューからキャッシュを無効にして再起動を試してください。それは私のために働いた。
私は後に同じ問題を抱えています:
私も使用します:
implementation "uk.co.chrisjenx:calligraphy:2.3.0"
この質問からすべての投稿を試しましたが、成功しませんでした。
1つの文字列.disableCustomViewInflation()
をCalligraphy initに追加して修正します。
@Override
public void onCreate() {
super.onCreate();
// ...
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/Sans-Regular.ttf")
.setFontAttrId(R.attr.fontPath)
.disableCustomViewInflation() // <----- this fix
.build());
// ...
}
Calligraphy(Christopher Jenkinsのすばらしい仕事に感謝します)の次のリリースでもそれを修正することを望みます。
build.gradle =>依存関係のバージョンを確認
implementation 'androidx.constraintlayout:constraintlayout:1.1.1'
変更する
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
問題を解決しました
私にとっては、gradleを変更するとこの問題は解決しました
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
に
implementation "androidx.constraintlayout:constraintlayout:1.1.3"
プロジェクトを同期してからクリーンアップする
それはとても愚かです
私は同じ問題を抱えていたので、次のように解決しました。
追加した場合は依存関係に
implementation 'androidx.constraintlayout:constraintlayout:1.x.x'
正しい
ただし、xmlレイアウトファイルでは、ウィジェットを次のように使用する必要があります。
androidx.constraintlayout.widget.ConstraintLayout
Xmlから既存のConstraintLayoutタグをコピーして貼り付けたため、問題が発生していました。 AndroidStudioでConstraintLayoutタグを最初から削除し、再度追加するだけで問題が修正されました。
依存関係を更新しましたが、エラーは解決しませんでした。その後、きれいなプロジェクトを作成してビルドしましたが、現在は機能しています。
うんmavenCentral()と正しい依存関係が同じ問題を解決します
同様のエラーが発生しました。
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.MainActivity}: Android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2757)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2818)
at Android.app.ActivityThread.-wrap12(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1557)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:163)
at Android.app.ActivityThread.main(ActivityThread.Java:6393)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:933)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:823)
Caused by: Android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: Android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: Java.lang.reflect.InvocationTargetException
at Java.lang.reflect.Constructor.newInstance0(Native Method)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:430)
at Android.view.LayoutInflater.createView(LayoutInflater.Java:652)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:812)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:752)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:499)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:430)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.Java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.Java:140)
at com.myapp.MainActivity.onCreate(MainActivity.Java:23)
at Android.app.Activity.performCreate(Activity.Java:6858)
at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1119)
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2710)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2818)
at Android.app.ActivityThread.-wrap12(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1557)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:163)
at Android.app.ActivityThread.main(ActivityThread.Java:6393)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:933)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:823)
Caused by: Java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/constraintlayout/widget/R$styleable;
at androidx.constraintlayout.widget.ConstraintLayout.init(ConstraintLayout.Java:590)
at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.Java:567)
... 23 more
Caused by: Java.lang.ClassNotFoundException: Didn't find class "androidx.constraintlayout.widget.R$styleable" on path: DexPathList[[Zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-1/lib/arm64, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:380)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:312)
... 25
推奨事項に続いて:
add androidx.constraintlayout.ConstraintLayout to the dependencies:
dependencies {
implementation "androidx.constraintlayout:constraintlayout:1.1.3"
}
そして、リポジトリmavenCentral()。
私のために働く。 APKをコンパイルできました。
Refactor -> Migrate to AndroidX
をクリックした後、build.gradle(Module:app)のすべての依存関係が最新バージョンにマークされていることを確認してください
そうでない場合、依存関係は黄色で強調表示された色で表示され、マウスをその上に置くと変更できます。
次に、すべてのXMLレイアウトファイルのConstraintLayoutタグを
androidx.constraintlayout.widget.ConstraintLayout
より安全なオプションを得るには、上記の手順の後にプロジェクトをクリーンアップして再度同期します。