web-dev-qa-db-ja.com

Android studioのConstraintLayoutの膨張エラー

Android Studioで問題が発生しました。最近、SDKマネージャーをアップグレードして組み込みました。

compile 'com.Android.support.constraint:constraint-layout:1.0.0-beta5'

クラスパスは

 classpath 'com.Android.tools.build:gradle:2.2.3'

プロジェクトは正常にビルドされます。 IntelliSenseとドキュメントは正常に機能します。しかし、(デバッグで)電話でアプリを実行しようとすると、このエラーが発生します。

 Caused by: Android.view.InflateException: Binary XML file line #2:
 Binary XML file line #2: Error inflating class ConstraintLayout
                   at Android.view.LayoutInflater.inflate(LayoutInflater.Java:539)
                   at Android.view.LayoutInflater.inflate(LayoutInflater.Java:423)
                   at Android.view.LayoutInflater.inflate(LayoutInflater.Java:374)
                   at com.Android.internal.policy.PhoneWindow.setContentView(PhoneWindow.Java:443)
                   at Android.app.Activity.setContentView(Activity.Java:2172)

Gradleを同期しました。 Android Studioを再起動しました。プロジェクトをクリーンアップして再構築しました。

これを修正する方法についてのアイデアはありますか?ありがとう!

-edit- XMLは次のようになります。

<ConstraintLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:id="@+id/PLAY_PARENT"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@drawable/greenfelt2"
Android:padding="0dp">
13
ausgeorge

以下のように追加する必要があります

<Android.support.constraint.ConstraintLayout
 xmlns:Android="http://schemas.Android.com/apk/res/Android"
 xmlns:app="http://schemas.Android.com/apk/res-auto"
 xmlns:tools="http://schemas.Android.com/tools"
 Android:id="@+id/PLAY_PARENT"
 Android:layout_width="match_parent"
 Android:layout_height="match_parent"
 Android:background="@drawable/greenfelt2"
 Android:padding="0dp">

compile 'com.Android.support.constraint:constraint-layout:1.0.2'

最新リリースのチェックについては、 こちら

20
arjun

これが2年半前の解決策であったかどうかはわかりませんが、今日は同様のエラーがありました。ここで答えを見つけました: androidxへの移行後にクラスandroidx.constraintlayout.ConstraintLayoutを膨らませるエラー

基本的に、制約レイアウトのxmlタグのみをこれらに変更する必要があります->

androidx.constraintlayout.widget.ConstraintLayout

1
ZeePee

いくつかの理由が考えられます

  1. 依存バージョンの問題(上記と同じ)

  2. メモリ不足の問題:私の場合、constraint-layoutの背景に高解像度の画像が追加されました。または、同じページ(.xmlファイル)に、画像ビューソースに高解像度の画像を使用しました。

1
Kona Suresh

私は同じ問題を抱えていました。アプリは他の電話でも正しく動作しましたが、ZTEデバイスでこの例外が発生しました。 Android StudioでInstant Runを無効にして修正しました。

0
manuel

同じ問題がありました。私にとって、その理由は私のプロジェクト「AndroidXhasを使用するためにサードパーティのライブラリを自動的に変換する」です。何をすべきか?単に2つのステップに従うだけです。

最初のステップ:gradle.propertiesを確認してください。次の行が表示される場合は、私のものとまったく同じ問題がある可能性があります。最初にそれらを削除できます。

Android.useAndroidX=true
Android.enableJetifier=true

2番目のステップ:メインアクティビティで変更しました

import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import Android.support.v4.app.ActivityCompat;
import Android.support.v4.content.ContextCompat;

すべてが突然機能します!

0
Tao