安卓致命异常: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 楼答案
在
activity_spalsh.xml
中使用LinearLayout
而不是ConstraintLayout
。这可能会解决你的问题并检查您正在使用的名为
restaurant
的背景也存在于Drawable
文件夹中更新: 试着用这些
xml
代替你的,看看它是否能解决你的挤压问题1
activity_spalsh.xml
2
activity_spalsh.xml