android apk甚至在AVD上停止工作都很好

时间:2014-02-26 12:50:59

标签: java android apk

我写了一些程序,它从主机获取流数据。我使用了这个例子:https://code.google.com/p/streamscraper/它在我的Android虚拟设备(2.3.3 API级别10)上工作正常,但是当我创建.apk并安装在Galaxy S4和LG P710上时,我收到错误unfortunately, has stopped。什么是错的?我该如何调试呢?

5 个答案:

答案 0 :(得分:3)

根据您的评论,您将获得例外android.os.NetworkOnMainThreadException:在新的Android API中,您应该将任何访问网络或互联网的代码放在不同的线程中。

试试这个

new Thread(new Runnable() {

            @Override
            public void run() {

                //Put your code here

            }
        }).start();

编辑1: 您可以使用Android附带的任何背景线程构造。服务,线程(如上所述)或AsyncTask中的线程。每个人都有利弊。你应该调查一下。小提示,如果您在此活动中播放此内容并访问活动用户界面,请使用AsycnTask。

答案 1 :(得分:1)

要在您的设备上进行调试,您必须在智能手机设备上使用ADB。为此,请在设备上启用USB Debugging,将其连接到计算机,并确保(如果在Windows上)安装了USB个驱动程序。最后启动EclipseAndroid Studio并以调试模式启动项目。您应该看到一个控制台输出,其中可以看到设备的完整堆栈跟踪。

如果您无法使用计算机进行调试< - >智能手机,尝试使用BugSense。它是免费的,并且将其库包含到您的项目中,如果发生错误,它会向您发送完整的堆栈跟踪。

答案 2 :(得分:1)

设置您的设备是否可以调试:Link

从Eclipse开始调试,选择你的设备。

检查Eclipse中LogCat视图中的输出。在那里,您将看到异常堆栈跟踪。

答案 3 :(得分:1)

为什么不直接在设备上运行apk文件而不是在模拟器上运行。??

答案 4 :(得分:0)

在清单文件中检查已设置

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />