安卓 apk 即使在 AVD 上也停止工作,一切都很好



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

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

试试这个

new Thread(new Runnable() {
            @Override
            public void run() {
                //Put your code here
            }
        }).start();

编辑 1:您可以使用 Android 附带的任何后台线程结构。服务中的线程,线程(如前所述)或AsyncTask。每个人都有优点和缺点。你应该对此进行调查。小提示,如果您在此活动中播放此内容并以某种方式访问活动用户界面,请使用 AsycnTask。

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

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

设置您的设备确实是可调试的:链接。

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

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

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

已设置的清单文件中检查此内容

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

相关内容

最新更新