我正在开发一个应用程序,每次运行它时,我都会收到这样的消息:
不幸的是,MyApp已停止。
我可以做什么来解决这个问题?
关于这个问题-显然是受什么是堆栈跟踪以及如何使用它调试应用程序错误的启发?,有很多问题表明他们的应用程序已经崩溃,没有任何进一步的细节。这个问题旨在指导Android新手程序员如何自己解决问题,或者提出正确的问题。
我正在开发一个应用程序,每次运行它时,我都会收到这样的消息:
不幸的是,MyApp已停止。
我可以做什么来解决这个问题?
关于这个问题-显然是受什么是堆栈跟踪以及如何使用它调试应用程序错误的启发?,有很多问题表明他们的应用程序已经崩溃,没有任何进一步的细节。这个问题旨在指导Android新手程序员如何自己解决问题,或者提出正确的问题。
当前回答
在下面的showToast()方法中,您必须为上下文或应用程序上下文传递另一个参数,这样您就可以尝试。
public void showToast(String error, Context applicationContext){
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.custom_toast, (ViewGroup)
findViewById(R.id.toast_root));
TextView text = (TextView) findViewById(R.id.toast_error);
text.setText(error);
Toast toast = new Toast(applicationContext);
toast.setGravity(Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(view);
toast.show();
}
其他回答
只需检查日志cat中的错误。
您可以从eclipse中获得logcat选项:
窗口->显示视图->其他->Android->Logcat
日志目录包含错误。
另外,您也可以通过在调试模式下执行应用程序来检查错误。首先通过以下操作设置断点:
右键单击项目->调试为->Android应用程序
检查您的Logcat消息。此外,请参阅Manifest文件以查找缺少的元素,如定义“活动”、用户权限等。
若要查看Logcat,如果您使用Android Studio,请按alt+6或
如果您使用Eclipse,那么窗口->打开透视->其他-LogCat
现在,从下拉菜单中选择error。
或者,您可以使用ADB工具获取Logcat文件来分析问题。
adb logcat > logcat.txt
现在打开logcat.txt文件并搜索应用程序名称。应该提供失败原因、行号、类名等信息。
人们会犯错,编码也是如此。
当发生任何错误时,总是用红色文本检查日志,但是你可以在蓝色文本中找到真正的问题,红色文本中有下划线。
确保如果您创建了一个新活动,请始终在AndroidManifest文件中声明该活动。
如果添加Permission,请在AndroidMainifest文件中声明它。
如果你的应用程序没有任何错误地崩溃,并且你没有使用资产管理器,而是加载了如下纹理:
Texture texture = new Texture("myImage.png"); //dont to this all the time
那就是问题所在。我也遇到过这种情况。你应该经常使用资产管理器来避免内存过载。
使用LogCat并尝试查找导致应用程序崩溃的原因。
如果您使用Android Studio,请按ALT+6查看Logcat或
如果您使用Eclipse,那么窗口->打开透视->其他-LogCat
转到LogCat,从下拉菜单中选择错误。这将包含帮助您调试所需的所有信息。如果这没有帮助,发布LogCat作为对您问题的编辑,有人会帮助您解决问题。