我正在开发一个应用程序,每次运行它时,我都会收到这样的消息:
不幸的是,MyApp已停止。
我可以做什么来解决这个问题?
关于这个问题-显然是受什么是堆栈跟踪以及如何使用它调试应用程序错误的启发?,有很多问题表明他们的应用程序已经崩溃,没有任何进一步的细节。这个问题旨在指导Android新手程序员如何自己解决问题,或者提出正确的问题。
我正在开发一个应用程序,每次运行它时,我都会收到这样的消息:
不幸的是,MyApp已停止。
我可以做什么来解决这个问题?
关于这个问题-显然是受什么是堆栈跟踪以及如何使用它调试应用程序错误的启发?,有很多问题表明他们的应用程序已经崩溃,没有任何进一步的细节。这个问题旨在指导Android新手程序员如何自己解决问题,或者提出正确的问题。
当前回答
您可以使用以下任何工具:
adb测井仪adb logcat>logs.txt(您可以使用编辑器打开和搜索错误。)eclipse日志猫(如果在eclipse中不可见,请转到Windows->显示视图->其他->Android->日志猫)Android调试监视器或Android设备监视器(键入命令监视器或通过UI打开)
Android工作室
我建议使用Android调试监视器,它很好。因为当日志太多时,eclipse会挂起,而且通过adb logcat过滤器等都很困难。
其他回答
在下面的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();
}
如果你的应用程序没有任何错误地崩溃,并且你没有使用资产管理器,而是加载了如下纹理:
Texture texture = new Texture("myImage.png"); //dont to this all the time
那就是问题所在。我也遇到过这种情况。你应该经常使用资产管理器来避免内存过载。
你必须检查堆栈跟踪
如何做到这一点?
在IDE上检查窗口窗体LOGCAT
如果你看不到原木色的窗户,就去这条路打开它
window->show view->others->Android->Logcat
如果您正在使用Google Api,请转到以下路径
adb logcat>logcat.txt
首先,您需要检查应用程序崩溃的位置和原因(不幸的是,MyApp已停止)。借助LOG,您可以找出问题所在。
之后,你会发现你的应用程序停止了从你的角度修复它。
人们会犯错,编码也是如此。
当发生任何错误时,总是用红色文本检查日志,但是你可以在蓝色文本中找到真正的问题,红色文本中有下划线。
确保如果您创建了一个新活动,请始终在AndroidManifest文件中声明该活动。
如果添加Permission,请在AndroidMainifest文件中声明它。