在真正的安卓手机上运行应用程序时如何查看应用程序的错误信息?
Posted
技术标签:
【中文标题】在真正的安卓手机上运行应用程序时如何查看应用程序的错误信息?【英文标题】:How to view the error information of an app when I run the app in real android mobile? 【发布时间】:2013-11-17 20:49:06 【问题描述】:我的应用在eclipse的模拟器中运行良好,在模拟器中调试应用时可以看到很多错误信息。
在我测试完我的应用后,我将应用安装到了真正的android mobile samsung i8150 mobile (Android 2.3.6) 中,但有时会出现以下错误。
不知道是什么原因导致的错误,在真正的安卓手机上运行应用程序时如何查看崩溃应用程序的错误信息?
【问题讨论】:
可以用 adb logcat 吗? ***.com/questions/3643395/… 使用 acra 崩溃报告器为 android 应用程序.....你可以在这里找到完整的教程:github.com/ACRA/acra 检查下面的问题***.com/questions/2882253/… 你是怎么解决你的问题的? 【参考方案1】:一旦发生崩溃,请连接设备,您可以在 IDE Logcat 中查看原因。
【讨论】:
我在真实手机中测试我的应用程序时保持连接,但是eclipse IDE Logcat不显示任何错误信息,为什么? 从 Eclipse DDMS > 设备选择设备(您连接的设备)。一旦尝试这个。我面临着 sme prob 并通过选择像这样的方式我能够看到 logcat 的设备。希望这会有所帮助...... 如果发生崩溃,您可以在 logcat 中添加标签“AndroidRuntime”。有了这个标签,你就可以很容易的在logcat中找到崩溃的原因。【参考方案2】:有多种应用可用于查看设备上的日志,例如 aLogcat https://play.google.com/store/apps/details?id=org.jtb.alogcat&hl=en
使用aLogcat你可以搜索你的输出标签并找到错误。
【讨论】:
【参考方案3】:尝试在您的设备连接到 PC 时测试您的应用。为此,请按照以下步骤操作:
在您的 Android 清单中将您的应用程序声明为“可调试”。使用 Eclipse 时,您可以跳过此步骤,因为直接从 Eclipse IDE 运行您的应用程序会自动启用调试。在 AndroidManifest.xml 文件中,将 android:debuggable="true" 添加到“application”元素。
在您的设备上启用 USB 调试:对于大多数运行 Android 3.2 或更早版本的设备,您可以在“设置”>“应用程序”>“开发”下找到该选项。
设置您的系统以检测您的设备。如果您在 Windows 上开发,则需要为 adb 安装 USB 驱动程序。有关 OEM 驱动程序的安装指南和链接,请参阅 OEM USB Drivers document。如果你在 Mac OS X 上开发,它就可以工作。跳过这一步。
最后在您的设备上运行您的应用,并在 LogCat 中查看发生了什么。
我在我的应用程序上尝试过,它非常有用。我拿走了所有信息here。
【讨论】:
【参考方案4】:结合所有可能性 为什么您没有获得 Logcat 可能性
-
应用程序不可调试。
您的手机中未启用开发者选项(因为您提到您在手机中安装了应用程序,但未指定通过调试使用 apk 或未安装手机的 adb 驱动程序)
Logcat 输出设置为 info 或低于错误的其他级别
ADB 无法附加调试器(adb 服务器未运行、失败等)
各自的解决方案
-
在你应用的 android manifest 集
android:debuggale="true"
为您的手机安装正确的 ADB 驱动程序(记住 ADB 驱动程序并不总是默认安装,其他的。如果您可以从计算机访问您的手机(传输文件、播放音乐、连接到 pc 套件等)-这并不意味着安装了 ADB 驱动程序)。检查您的制造商网站并为您的手机下载正确的 ADB 驱动程序。
将您的 logcat 输出设置为 VERBOSE
亚行正在运行吗? (尝试重新启动 ADB - adb kill-server, adb start-server)或替代 您可以添加这段小代码来查看您的应用程序崩溃原因 像这样创建一个新的应用程序类。
public class App extends android.app.Application
@Override
onCreate(...)
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(new Thread.
UncaughtExceptionHandler()
public void uncaughtException(Thread t, Throwable e)
Toast.makeText(getApplicationContext(), t + " has " + e, Toast.LENGTH_LONG).show();
);
在您的应用程序清单中
<application ...... name="com.yourpackage.App" > ...... </application>
【讨论】:
【参考方案5】:https://play.google.com/store/apps/details?id=com.nolanlawson.logcat&hl=en
使用这个应用程序,有很多功能
颜色编码的标签名称 易于阅读的列显示 实时搜索 录制模式(带小部件) 从 SD 卡保存并打开 以电子邮件或附件形式发送日志 在屏幕底部时自动滚动(就像 tail -f) 搜索自动建议和保存的过滤器 选择部分日志 开源且无广告【讨论】:
【参考方案6】:将手机连接到计算机并运行 eclipse。
在 eclipse 中打开 logcat,你会看到一些你的手机当前正在做什么的概要文件。
打开您的应用程序并使其崩溃。
当它崩溃时,您会看到一条红色的错误消息。
【讨论】:
【参考方案7】:-
将手机连接到电脑。
在 Eclipse 中单击“运行”按钮旁边的箭头,选择“运行配置”。
选择您的手机和应用并运行。
现在所有错误消息都将发布在 LogCat 上。
【讨论】:
【参考方案8】:我希望您应该为您的应用程序实施 Google Analytics,这是 Google 最好的分析工具。通过使用 Google Analytics,您可以查看您的应用程序正在做什么,用户现在在哪个屏幕上,您可以检测崩溃日志,以及有关您的应用程序的更多事情/信息。此外,将Google Analytics 与您的应用程序集成非常容易。
【讨论】:
以上是关于在真正的安卓手机上运行应用程序时如何查看应用程序的错误信息?的主要内容,如果未能解决你的问题,请参考以下文章