无法在logcat Android Studio中检测到行号

时间:2016-12-26 09:44:18

标签: android android-studio android-logcat

Android Studio 2.2.3

Android Studio无法检测到logcat中的行号。有什么方法可以解决这个问题吗?它显示未知来源代替行号。

添加LOGCAT只是指出问题的动摇。不要指出为什么出现NULL POINT EXCEPTION ...

请忽略错误(我知道它为什么会发生)。我已添加注销以显示问题所在。

Android Studio显示的是Unknown Source而不是错误行号。

logcat的:

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: user.com.hlthee, PID: 1107
                  java.lang.NullPointerException
                      at user.com.hlthee.Reminders$13.onClick(**Unknown Source**)
                      at android.support.v7.app.AlertController$ButtonHandler.handleMessage(Unknown Source)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:136)
                      at android.app.ActivityThread.main(ActivityThread.java:5001)
                      at java.lang.reflect.Method.invokeNative(Native Method)
                      at java.lang.reflect.Method.invoke(Method.java:515)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
                      at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:5)

如果它是您的类(不是库),则缺少连接到类的XML中的视图。它表示为 NullPointerException - onClick(** Unknown Source )**在您的类中意味着您可能对该视图使用了onclick函数,但该视图不在XML中。找到您在班级中添加onClick的位置,并查看连接的XML中不存在哪个

修改:

如果您的清单中的包名和包裹标签没有正确的命名约定,则可能会出现此未知来源

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="string"
          android:sharedUserId="string"
          android:sharedUserLabel="string resource" 
          android:versionCode="integer"
          android:versionName="string"
          android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
    . . .
</manifest> 

因此,您也可以仔细检查您的活动代码并遵循命名约定。 你可能有这样的名字.. Reminders$13

enter image description here

  

Android应用程序的完整Java语言样式包名称。   名称应该是唯一的。名称可能包含大写或小写   字母('A'到'Z'),数字和下划线('_')。然而,   单个包名称部分只能以字母开头。避免   与其他开发人员冲突,您应该使用Internet域   所有权作为您的包名称的基础(反之)。对于   例如,Google发布的应用程序以com.google开头。您   也应该在发布时不要使用com.example命名空间   应用

来自developer.android.com

答案 1 :(得分:2)

您看到未知来源的可能性是因为您的设备连接丢失或应用程序的主要线程被杀, 如果你把屏幕截图放在这里会更清楚