膨胀类androidx.constraintlayout.widget.constraintlayout时出错

膨胀类androidx.constraintlayout.widget.constraintlayout时出错,android,android-studio,kotlin,runtime-error,android-constraintlayout,Android,Android Studio,Kotlin,Runtime Error,Android Constraintlayout,我创建了一个使用Androidx的Android应用程序。 我正在尝试运行我的Android应用程序,但当它尝试启动登录活动时,我遇到了运行时错误: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.sportincenterapp, PID: 7414 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sportin

我创建了一个使用Androidx的Android应用程序。 我正在尝试运行我的Android应用程序,但当它尝试启动登录活动时,我遇到了运行时错误:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.sportincenterapp, PID: 7414
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sportincenterapp/com.example.sportincenterapp.LoginActivity}: 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:2646)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
 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:645)
    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:696)
    at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:170)
    at com.example.sportincenterapp.LoginActivity.onCreate(LoginActivity.kt:9)
    at android.app.Activity.performCreate(Activity.java:6662)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
 Caused by: java.lang.OutOfMemoryError: Failed to allocate a 485935644 byte allocation with 3293900 free bytes and 379MB until OOM
    at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
    at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1155)
    at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
    at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
    at android.content.res.Resources.loadDrawable(Resources.java:854)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
    at android.view.View.<init>(View.java:4175)
    at android.view.ViewGroup.<init>(ViewGroup.java:578)
    at android.view.ViewGroup.<init>(ViewGroup.java:574)
    at android.view.ViewGroup.<init>(ViewGroup.java:570)
    at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:567)
    
最后后勤活动.kt

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@drawable/login_background"
  android:padding="20dp"
  tools:context=".LoginActivity">

<ImageView
    android:id="@+id/logo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/logo_small"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    />

<EditText
    android:id="@+id/etUserName"
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:layout_marginTop="50dp"
    android:background="@drawable/edittext_login_background"
    android:ems="10"
    android:hint="  Email"
    android:inputType="text"
    android:textSize="17sp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/logo" />

<EditText
    android:id="@+id/etPassword"
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:layout_marginTop="30dp"
    android:background="@drawable/edittext_login_background"
    android:ems="10"
    android:hint="   Password"
    android:inputType="textPassword"
    android:textSize="17sp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/etUserName" />

 </androidx.constraintlayout.widget.ConstraintLayout>
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class LoginActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_login)
    }
}

我想不出是什么问题。

也许你可以试试。要在低api设备上使用vector drawable,您需要将其添加到build.gradle以支持vector drawable。它应该能解决你的问题

android {
   defaultConfig {
      vectorDrawables.useSupportLibrary = true
   }
}

或者可能您的可绘制文件太大了

我刚刚更新了完整的StackTraceLook,比如您的
可绘制/登录\u背景文件
太大了,您的内存不足。试着把它的尺寸缩小一些dimensions@laalto谢谢这就是问题所在。解决方案在stacktrace中。。
android {
   defaultConfig {
      vectorDrawables.useSupportLibrary = true
   }
}