应用程序在 android 4.3 上崩溃 [重复]

Posted

技术标签:

【中文标题】应用程序在 android 4.3 上崩溃 [重复]【英文标题】:app crashes on android 4.3 [duplicate] 【发布时间】:2014-08-01 20:53:31 【问题描述】:

我正在尝试开发的 android 应用程序出现问题。当我在具有 android 4.4.2(目标 sdk 版本)的模拟器中对其进行测试时,一切正常。但是,当我在具有相同设置但 android 4.3 的模拟器中运行相同的代码时,应用程序几乎立即崩溃并出现下面的 catlog 错误。

在 Eclipse 中使用 android lint(右键单击项目,“Android 工具”>“运行 lint:检查常见错误”),我找不到任何与 minSdkVersion (16) 不对应的代码。 有人有什么建议吗?

目录错误:

    07-24 12:54:14.592: D/AndroidRuntime(1012): Shutting down VM
    07-24 12:54:14.592: W/dalvikvm(1012): threadid=1: thread exiting with uncaught exception (group=0x41465700)
    07-24 12:54:14.631: E/AndroidRuntime(1012): FATAL EXCEPTION: main
    07-24 12:54:14.631: E/AndroidRuntime(1012): java.lang.RuntimeException: Unable to start activity ComponentInfocom.example.protime360_basics/com.example.protime360_basics.MainActivity: java.lang.NullPointerException
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.os.Handler.dispatchMessage(Handler.java:99)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.os.Looper.loop(Looper.java:137)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.app.ActivityThread.main(ActivityThread.java:5103)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at java.lang.reflect.Method.invokeNative(Native Method)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at java.lang.reflect.Method.invoke(Method.java:525)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at dalvik.system.NativeStart.main(Native Method)
    07-24 12:54:14.631: E/AndroidRuntime(1012): Caused by: java.lang.NullPointerException
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at com.example.protime360_basics.MainActivity.loginPopup(MainActivity.java:167)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at com.example.protime360_basics.MainActivity.onCreate(MainActivity.java:61)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.app.Activity.performCreate(Activity.java:5133)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
    07-24 12:54:14.631: E/AndroidRuntime(1012):     ... 11 more

【问题讨论】:

你在loginPopup做什么?特别是在第 167 行 总是同一个问题... 显示 loginPopup 方法的代码,并确定哪一行是 MainActivity.java 文件的第 167 行。还包括其中引用的任何变量或字段的声明和初始化。 您忘记阅读堆栈跟踪。如果您不知道如何操作,我建议您阅读 android 的调试教程。 linter 用于编译时异常。你有一个运行时异常。 @user1834095 ***.com/questions/3988788/… 【参考方案1】:

感谢@codeMagic 和@Chris Stratton,我发现了这个问题。我的代码中的第 167 行是

    if(!username.equals(null))

我改成

    if(username != null && !username.isEmpty())

=> 问题解决了!

【讨论】:

以上是关于应用程序在 android 4.3 上崩溃 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

iOS 4.3 上传视频时崩溃

应用程序在 Android M 上因 SecurityException 而崩溃 [重复]

我的应用在 iOS 4.3 上崩溃,但仅在从 App Store 下载时

Android Xamarin-使用SQLite时打开计划的通知会停止重复并崩溃

NSFetchRequest 控制器在 iOS 5 上工作,在 iOS 4.3 上崩溃

Android Studios崩溃[重复]