应用程序在 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 上崩溃 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
应用程序在 Android M 上因 SecurityException 而崩溃 [重复]
我的应用在 iOS 4.3 上崩溃,但仅在从 App Store 下载时
Android Xamarin-使用SQLite时打开计划的通知会停止重复并崩溃