Android错误日志分析

  • Post author:
  • Post category:其他


Android Studio下常见异常以及分析方法

常见异常

NullPointerException

原因:调用对象的方法或属性,但对象为空。

ClassCastException

原因:类型转换异常。

ActivityNotFoundException

没有在AndroidManifest.xml清单文件注册Activity,或者注册不正确

常见异常的一般分析步骤

  1. 在Logcat从下往上找,尽量找到causeBy(会显示哪种异常导致)

  2. 找到出异常的类和行号,点击进入对应的行

java.lang.NullPointerException类型

Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference

错误提示:

java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference

解决:在xml文件中把View控件写成了view

Gradle类型

Failed to open zip file. Gradle’s dependency cache may be corrupt(this sometimes occurs after a network connection timeout.

错误提示:

Failed to open zip file.

Gradle’s dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

解决:删除C:\Users\用户名.gradle\wrapper\dists\gradle-版本号-all\”key“\目录下错误未解压的gradle-版本号-all.zip,把自己手动下好的文件复制粘贴进去。

java.lang.NullPointerException 类型

错误提示:

java.lang.NullPointerException: Attempt to invoke virtual method ‘android.view.View android.widget.RelativeLayout.findViewById(int)’ on a null object reference

解决:这是个空指针异常,说这个是一个空的引用,在Activity中检查布局是否加载正确,或者检查findViewById。

java.lang.RuntimeException类型

错误提示:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.splashscreen/com.example.splashscreen.WelcomeActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

解决:这个错误是说Theme AppCompat中没有这个主题,需要使用Theme AppCompat中或者子类中包含的主题样式,把在Activity中修改继承的父类把AppCompatActivity改成Activity。

NDK之路

错误提示:

ava.lang.RuntimeException: Error: Flag android.useDeprecatedNdk is no longer supported and will be removed in the next version of Android Studio. Please switch to a supported build system.

解决:需要把gradle.properties中的android.useDeprecatedNdk=true注释掉,NDK改成CMake编译

错误提示:

Error: Your project contains C++ files but it is not using a supported native build system

解决: 在build.gradle 中的 buildType中添加 :

sourceSets{

main {

    jni.srcDirs = []

}

}

原文:https://www.cnblogs.com/1329197745a/p/14905660.html