Android studio 如何分析错误日志

在Android studio的Terminal中直接操作:gradlew compileDebug --stacktrace

gradlew compileDebug --stacktrace -info或者gradlew compileDebug --stacktrace -debug

gradlew compileDebugSources --stacktrace -info

gradlew compileDebugSources查看错误

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用户名.gradlewrapperdistsgradle-版本号-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 = []

    }

}

错误提示

JNI DETECTED ERROR IN APPLICATION: the return type of CallIntMethod does not match void com.example.ccalljava.JNI.helloFromJava()

解决:在c代码中调用java方法的时候调用错误,C中调用的返回类型与java中返回类型不匹配

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