【问题标题】:Diagnosing the cause of an Android app crashing诊断 Android 应用程序崩溃的原因
【发布时间】:2018-10-11 16:51:19
【问题描述】:

我一直在修改正在运行的 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 更好地诊断问题,还是应该寻找其他方式来了解正在发生的事情?

【问题讨论】:

    标签: android-studio debugging crash


    【解决方案1】:

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

    【讨论】:

    • 我已将 XML 添加到帖子中 - 这两个声明位于 gradle 文件 implementation 'com.android.support:appcompat-v7:26.1.0'implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    【解决方案2】:

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

    implementation 'com.android.support:design:26.1.0
    

    【讨论】:

    • 自从添加此依赖项后,代码在 IDE 中显示错误。 setContentView(R.layout.activity_main); - 无法解析符号“R”
    • 清理构建并确保使用正确版本的应用程序支持 lib 版本。如果您的 appcompat 为 26.1.0,然后使用相同版本的支持设计。实现 'com.android.support:design:26.1 .0
    • 谢谢 - 实际上我发现我需要使用 IDE 消息中的 26.1.0。我已经解决了“R”问题,但应用程序在启动时仍然崩溃......
    • 我的问题不是“我的代码有什么问题?”但更多“我怎样才能找到我的代码有什么问题?”。如果我能理解你回答问题的过程,那么我下次应该可以自己解决。
    猜你喜欢
    • 1970-01-01
    • 2015-10-06
    • 2013-08-01
    • 1970-01-01
    • 2014-09-19
    • 2012-12-10
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多