有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓致命异常:PID:30982 java。lang.RuntimeException:在实际手机中测试应用程序时无法启动activity ComponentInfo

我正在尝试创建两个活动,第二个活动在第一个开始之后开始。 当我在模拟器上启动应用程序时,它运行正常,但当我在手机(TECNO L8 安卓 API22)上测试它时,它开始启动第一个活动,然后在logcat上显示以下错误消息:

    01-13 10:54:23.276 30982-30982/com.otemainc.smartmenu E/AndroidRuntime: 
    FATAL EXCEPTION: main Process: com.otemainc.smartmenu, PID: 30982
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.otemainc.smartmenu/com.otemainc.smartmenu.activity.Splash}: 安卓.view.InflateException: Binary XML file line #0: Error inflating class 安卓.support.constraint.ConstraintLayout
                                                                        at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2521)
                                                                        at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595)
                                                                        at 安卓.app.ActivityThread.access$800(ActivityThread.java:178)
                                                                        at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
                                                                        at 安卓.os.Handler.dispatchMessage(Handler.java:111)
                                                                        at 安卓.os.Looper.loop(Looper.java:194)
                                                                        at 安卓.app.ActivityThread.main(ActivityThread.java:5631)
                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                        at java.lang.reflect.Method.invoke(Method.java:372)
                                                                        at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
                                                                        at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:754)
                                                                     Caused by: 安卓.view.InflateException: Binary XML file line #0: Error inflating class 安卓.support.constraint.ConstraintLayout
                                                                        at 安卓.view.LayoutInflater.createView(LayoutInflater.java:633)
                                                                        at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:482)
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:414)
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:365)
                                                                        at 安卓.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                                                                        at 安卓.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                                        at com.otemainc.smartmenu.activity.Splash.onCreate(Splash.java:15)
                                                                        at 安卓.app.Activity.performCreate(Activity.java:6167)
                                                                        at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
                                                                        at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468)
                                                                        at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595) 
                                                                        at 安卓.app.ActivityThread.access$800(ActivityThread.java:178) 
                                                                        at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 
                                                                        at 安卓.os.Handler.dispatchMessage(Handler.java:111) 
                                                                        at 安卓.os.Looper.loop(Looper.java:194) 
                                                                        at 安卓.app.ActivityThread.main(ActivityThread.java:5631) 
                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                        at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                        at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
                                                                        at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
                                                                     Caused by: java.lang.reflect.InvocationTargetException
                                                                        at java.lang.reflect.Constructor.newInstance(Native Method)
                                                                        at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
                                                                        at 安卓.view.LayoutInflater.createView(LayoutInflater.java:607)
                                                                        at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:482) 
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:365) 
                                                                        at 安卓.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                                                                        at 安卓.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                        at com.otemainc.smartmenu.activity.Splash.onCreate(Splash.java:15) 
                                                                        at 安卓.app.Activity.performCreate(Activity.java:6167) 
                                                                        at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) 
                                                                        at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468) 
                                                                        at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595) 
                                                                        at 安卓.app.ActivityThread.access$800(ActivityThread.java:178) 
                                                                        at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 
                                                                        at 安卓.os.Handler.dispatchMessage(Handler.java:111) 
                                                                        at 安卓.os.Looper.loop(Looper.java:194) 
                                                                        at 安卓.app.ActivityThread.main(ActivityThread.java:5631) 
                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                        at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                        at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
                                                                        at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
                                                                     Caused by: 安卓.content.res.Resources$NotFoundException: Resource "com.otemainc.smartmenu:drawable/restaurant" (7f06006a)  is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f06006a a=-1 r=0x7f06006a}
                                                                        at 安卓.content.res.Resources.loadDrawableForCookie(Resources.java:2776)
                                                                        at 安卓.content.res.Resources.loadDrawable(Resources.java:2700)
                                                                        at 安卓.content.res.TypedArray.getDrawable(TypedArray.java:749)
                                                                        at 安卓.view.View.<init>(View.java:3791)
                                                                        at 安卓.view.ViewGroup.<init>(ViewGroup.java:533)
                                                                        at 安卓.view.ViewGroup.<init>(ViewGroup.java:529)
                                                                        at 安卓.view.ViewGroup.<init>(ViewGroup.java:525)
                                                                        at 安卓.support.constraint.ConstraintLayout.<init>(ConstraintLayout.java:419)
                                                                        at java.lang.reflect.Constructor.newInstance(Native Method) 
                                                                        at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
                                                                        at 安卓.view.LayoutInflater.createView(LayoutInflater.java:607) 
                                                                        at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:482) 
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                                                                        at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:365) 
                                                                        at 安卓.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                                                                        at 安卓.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                        at com.otemainc.smartmenu.activity.Splash.onCreate(Splash.java:15) 
                                                                        at 安卓.app.Activity.performCreate(Activity.java:6167) 
                                                                        at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) 
                                                                        at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468) 
                                                                        at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595) 
                                                                        at 安卓.app.ActivityThread.access$800(ActivityThread.java:178) 
                                                                        at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 
                                                                        at 安卓.os.Handler.dispatchMessage(Handler.java:111) 
                                                                        at 安卓.os.Looper.loop(Looper.java:194) 
                                                                        at 安卓.app.ActivityThread.main(ActivityThread.java:5631) 
                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                        at java.lang.reflect.Method.invoke(Method.java:372) 
                           at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
                           at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
    01-13 10:54:23.370 30982-30982/com.otemainc.smartmenu I/Process: Sending signal. PID: 30982 SIG: 9

这是我的水花。爪哇

    package com.otemainc.smartmenu.activity;

    import 安卓.content.Intent;
    import 安卓.os.Handler;
    import 安卓.support.v7.app.AppCompatActivity;
    import 安卓.os.Bundle;
    import com.otemainc.smartmenu.R;

    public class Splash extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);
    Thread delay = new Thread(){
        public void run(){
            try {
                sleep(3000);
                Intent intent = new Intent(getApplicationContext(),Login.class);
                startActivity(intent);
                finish();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    };
    delay.start();
}

}

注意:在仿真器上测试这一点会按预期运行 在实际手机上测试时,它会粉碎并记录上述错误消息

这是我的活动。xml

    <?xml version="1.0" encoding="utf-8"?>
    <安卓.support.constraint.ConstraintLayout
    xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:app="http://schemas.安卓.com/apk/res-auto"
    xmlns:tools="http://schemas.安卓.com/tools"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    tools:context="com.otemainc.smartmenu.activity.Splash"
    安卓:background="@drawable/restaurant">

<TextView
    安卓:id="@+id/TxtTitle"
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:elevation="5dp"
    安卓:gravity="center_horizontal"
    安卓:text="@string/title"
    安卓:textColor="@color/colorAccent"
    安卓:textSize="52sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.547" />

<ImageView
    安卓:id="@+id/ImgLogo"
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:src="@drawable/logo"
    tools:layout_editor_absoluteX="3dp"
    tools:layout_editor_absoluteY="16dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    安卓:contentDescription="@string/logo" />

<TextView
    安卓:id="@+id/txtCopyright"
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:background="@drawable/ic_rectangle"
    安卓:text="@string/rights"
    安卓:textColor="@color/colorWhite"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent" />

<TextView
    安卓:id="@+id/tXTPowered"
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:background="@drawable/ic_rectangle"
    安卓:text="@string/poweredby"
    安卓:textColor="@color/colorWhite"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent" />

这是我的活动登录。xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:tools="http://schemas.安卓.com/tools"
   安卓:orientation="vertical"
   安卓:layout_width="match_parent"
   安卓:layout_height="match_parent"
   安卓:paddingBottom="@dimen/activity_vertical_margin"
   安卓:paddingLeft="18dp"
   安卓:paddingRight="18dp"
   安卓:paddingTop="@dimen/activity_vertical_margin"
   tools:context="com.otemainc.smartmenu.activity.Login"
   安卓:background="@drawable/restaurant">
   <!-- Login progress -->
<ProgressBar
    安卓:id="@+id/login_progress"
    style="?安卓:attr/progressBarStyleLarge"
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:layout_marginBottom="8dp"
    安卓:visibility="gone" />

<ScrollView
    安卓:id="@+id/login_form"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent">
    <LinearLayout
        安卓:layout_width="match_parent"
        安卓:layout_height="match_parent"
        安卓:orientation="vertical">

        <ImageView
            安卓:layout_width="250dp"
            安卓:layout_height="200dp"
            安卓:layout_gravity="center_horizontal"
            安卓:padding="16dp"
            安卓:layout_marginTop="70dp"
            安卓:layout_marginBottom="16dp"
            安卓:src="@drawable/logo"/>

        <安卓.support.design.widget.TextInputLayout
            安卓:layout_width="match_parent"
            安卓:layout_height="wrap_content">

            <AutoCompleteTextView
                安卓:layout_width="match_parent"
                安卓:layout_height="wrap_content"
                安卓:inputType="text"
                安卓:ems="10"
                安卓:id="@+id/email"
                安卓:background="@安卓:color/transparent"
                安卓:padding="12dp"
                安卓:drawablePadding="12dp"
                安卓:hint="Username"
                安卓:textColorHint="@color/colorAccent"
                安卓:textColor="@color/colorAccent"
                安卓:drawableRight="@drawable/ic_person_white_24dp"/>

        </安卓.support.design.widget.TextInputLayout>
        <View
            安卓:layout_width="match_parent"
            安卓:layout_height="1dp"
            安卓:background="#f9d7db" />

        <EditText
            安卓:layout_width="match_parent"
            安卓:layout_height="wrap_content"
            安卓:inputType="textPassword"
            安卓:ems="10"
            安卓:id="@+id/password"
            安卓:drawablePadding="16dp"
            安卓:padding="16dp"
            安卓:hint="Password"
            安卓:textColorHint="@color/colorAccent"
            安卓:textColor="@color/colorAccent"
            安卓:background="@安卓:color/transparent"
            安卓:maxLines="1"
            安卓:layout_marginTop="4dp"
            安卓:drawableRight="@drawable/ic_vpn_key_white_24dp"/>

        <View
            安卓:layout_width="match_parent"
            安卓:layout_height="1dp"
            安卓:background="#f9d7db" />

        <CheckBox
            安卓:layout_width="wrap_content"
            安卓:layout_height="wrap_content"
            安卓:layout_marginTop="16dp"
            安卓:text="Remember me "
            安卓:textColor="#fff"
            />

        <Button
            安卓:id="@+id/email_sign_in_button"
            安卓:layout_width="match_parent"
            安卓:layout_height="wrap_content"
            安卓:background="@color/btn_login"
            安卓:text="Log in"
            安卓:textAllCaps="false"
            安卓:textStyle="normal"
            安卓:clickable="true"
            安卓:textSize="18sp"
            安卓:textColor="@color/btn_login_bg"
            安卓:padding="16dp"
            style="@style/TextAppearance.AppCompat.Body1"
            安卓:layout_marginTop="32dp"
            安卓:drawableRight="@drawable/ic_lock_open_white_24dp"/>
        <TextView
            安卓:layout_width="wrap_content"
            安卓:layout_height="wrap_content"
            安卓:text="Forget password? "
            安卓:textColor="#fff"
            安卓:padding="16dp"
            安卓:clickable="true"
            安卓:layout_marginBottom="16dp"
            style="@style/TextAppearance.AppCompat.Body1"/>
        <!-- Link to Login Screen -->

        <Button
            安卓:id="@+id/btnLinkToRegisterScreen"
            安卓:layout_width="fill_parent"
            安卓:layout_height="wrap_content"
            安卓:layout_marginTop="40dip"
            安卓:background="@null"
            安卓:text="@string/btn_link_to_register"
            安卓:textAllCaps="false"
            安卓:textColor="@color/colorWhite"
            安卓:textSize="15dp" />
    </LinearLayout>
</ScrollView>

如前所述,只有在实际设备上测试应用程序时才会发生崩溃,但在任何模拟器上都不会发生(我使用的是nexus 10)


共 (1) 个答案

  1. # 1 楼答案

    activity_spalsh.xml中使用LinearLayout而不是ConstraintLayout。这可能会解决你的问题

    并检查您正在使用的名为restaurant的背景也存在于Drawable文件夹中


    更新: 试着用这些xml代替你的,看看它是否能解决你的挤压问题

    1activity_spalsh.xml

     <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:text="Splash Activity"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tvExVin" 
            android:layout_gravity="center_horizontal"/>
    
    </LinearLayout>
    

    2activity_spalsh.xml

     <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:text="Log In Activity"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tvExVin" 
            android:layout_gravity="center_horizontal"/>
    
    </LinearLayout>