诊断Android应用程序崩溃的原因

时间:2018-10-11 16:51:20

标签: android-studio debugging crash

我一直在修改运行中的Android应用的代码。但是,它可以正常运行,但是由Android Studio安装后立即在测试设备上崩溃。为了尝试找出问题出在哪里,我注释掉了大部分代码,直到只剩下这个未注释的代码!

public class MainActivity extends AppCompatActivity {
    static Context con;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        con = this;

    }

}

我捕获了logcat在启动该应用程序期间显示的内容。我单击了删除,启动了该应用程序,并在崩溃后复制了logcat窗口。这已放入文本编辑器中,下面是在应用名称的第一个和最后一个之间(您能告诉我-我不确定如何最好地使用logcat!)

<?xml version="1.0" encoding="utf-8"?>
<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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary" />

    </android.support.design.widget.AppBarLayout>

    <!--<ImageView
        android:id="@+id/imageView"
        android:layout_width="352dp"
        android:layout_height="175dp"
        android:layout_marginTop="16dp"
        android:baselineAlignBottom="false"
        android:clickable="false"
        android:contentDescription="@string/title"
        android:src="@drawable/logo"
        app:layout_constraintBaseline_creator="8"
        app:layout_constraintBaseline_toBaselineOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintEnd_toStartOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/logo" />-->

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text="Lets Delight Ltd"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.461"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.388" />

    <!--<Button
        android:id="@+id/decision"
        android:layout_width="221dp"
        android:layout_height="48dp"
        android:layout_marginBottom="16dp"
        android:text="Download new app"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent" />-->

    <!--<ImageView
        android:id="@+id/imageView2"
        android:layout_width="73dp"
        android:layout_height="88dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="@+id/decision"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/appBarLayout"
        app:layout_constraintVertical_bias="0.799"
        app:srcCompat="@drawable/icon_crossed" />-->

    <!--<TextView
        android:id="@+id/textView2"
        android:layout_width="270dp"
        android:layout_height="75dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        android:text="This app is now obsolete\n\nPlease download the replacement using the button below. Then delete this app."
        android:textAlignment="center"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.54" />
-->
    <!--<Button
        android:id="@+id/todo"
        android:layout_width="160dp"
        android:layout_height="48dp"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="324dp"
        android:text="ToDo LIST"
        app:layout_constraintBottom_toTopOf="@+id/decision"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/imageView"
        app:layout_constraintVertical_bias="0.0" />-->

</android.support.constraint.ConstraintLayout>

输出在https://www.letsdelight.co.uk/content/temp/logcat_181011.txt,因为StackOverflow不允许我发布那么多内容。

我该怎么做才能理解问题? 我可以以更好的方式使用logcat来诊断问题,还是应该以其他方式了解正在发生的事情?

2 个答案:

答案 0 :(得分:0)

由于此错误导致类android.support.design.widget.AppBarLayout膨胀而崩溃。您可以发布xml吗?我希望你声明支持库依赖 实现com.android.support:design:'

答案 1 :(得分:0)

我运行了您的代码,您需要添加此依赖项。

implementation 'com.android.support:design:26.1.0