Android 安卓apk在运行安卓4.4的一些设备上崩溃

Android 安卓apk在运行安卓4.4的一些设备上崩溃,android,nullpointerexception,crash-reports,Android,Nullpointerexception,Crash Reports,这个apk是我最近在生产中的更新,没有proguard混淆或任何优化。以防万一,所以有人不建议它可能与proguard有关。然而,我最近使用API 20:Android 4.4 Kitkat wear进行编译,并将目标设置为API 21:L预览。Eclipse成功地编译了它。我不知道这是否是个问题。我不确定是否有设备在L Preview上运行。 根据我的谷歌崩溃报告,所有在安卓4.4上运行的设备都崩溃了。这只影响了不到1%的安卓4.4安装。当受影响的用户尝试打开应用程序时,它将停止工作 下面是堆

这个apk是我最近在生产中的更新,没有proguard混淆或任何优化。以防万一,所以有人不建议它可能与proguard有关。然而,我最近使用API 20:Android 4.4 Kitkat wear进行编译,并将目标设置为API 21:L预览。Eclipse成功地编译了它。我不知道这是否是个问题。我不确定是否有设备在L Preview上运行。 根据我的谷歌崩溃报告,所有在安卓4.4上运行的设备都崩溃了。这只影响了不到1%的安卓4.4安装。当受影响的用户尝试打开应用程序时,它将停止工作

下面是堆栈跟踪。有人对如何解决这个问题有什么建议吗?谢谢

    java.lang.NullPointerException
    at com.example.myproject.MainActivity$2.onItemClick(MainActivity.java:189)
    at android.widget.AdapterView.performItemClick(AdapterView.java:308)
    at android.widget.AbsListView.performItemClick(AbsListView.java:1495)
    at android.widget.AbsListView$PerformClick.run(AbsListView.java:3453)
    at android.widget.AbsListView$3.run(AbsListView.java:4816)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:146)
    at android.app.ActivityThread.main(ActivityThread.java:5487)
    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:1283)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
    at dalvik.system.NativeStart.main(Native Method)
以下是堆栈跟踪中包含的行:

第188-191行为:

SharedPreferences.Editor editor = getSharedPreferences("settings", 0).edit();
editor.putString("lastKnownLatitude", String.valueOf(mCurrentLocation.getLatitude()));
editor.putString("lastKnownLongitude", String.valueOf(mCurrentLocation.getLongitude()));
editor.commit();

这些行位于listview.setOnItemClickListener中,在editor.commit之后,它将启动一个新活动。

可能重复@panini No。。。这个问题描述了如何找到堆栈跟踪。他已经发布了他的。你的MainActivity.java的第189行是什么?如果你不能发布代码,我们所能做的就是告诉你如何读取堆栈跟踪。看起来mCurrentLocation是空的。看看这个。