在debug的时候,报如下错误:
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (classFileParser.cpp:3494), pid=5940, tid=5632
# Error: ShouldNotReachHere()
然后就是什么socket连接出错之类的,
网上搜了一下,网上搜索全文如下,
今天早上写了个注册的功能,使用socket实现。但是运行的时候,爆出了一个很诡异的错误,一般的错误应该是用红色的打印出错误的路径。但是这次错误貌似很严重,是一个内部的错误,好像是虚拟机内部的实现的异常,因为指示出来的是一个cpp文件的错误。报错全文如下:
# A fatal error has been detected by the Java
Runtime Environment:
#
# Internal Error (classFileParser.cpp:3161), pid=3464, tid=2324
# Error: ShouldNotReachHere()
#
# JRE version: 6.0_21-b07
# Java
VM: Java
HotSpot(TM) Client VM (17.0-b17 mixed mode windows-x86 )
# An error report file with more information is saved as:
# C:\Users\Andy\workspace\huaqibei\hs_err_pid3464.log
#
# If you would like to submit a bug report, please visit:
# http://java
.sun.com/webapps/bugreport/crash.jsp
#
这个问题出现的情况是,我在普通的用户界面的程序中添加了一个客户端的socket,进行用户的注册。google了很久,看到一些说是因为Android的ADT实现的JUnit不行,需要改换成java
的
JUnit测试,但是我这边根本没有用到单元测试的部分。郁闷了好久,到底是怎么回事呢?下午高了半天,半天的宝贵时间啊,还是没解决。晚上看到她在线,
狂喜,和她聊天。聊了一会,她下了。突然有了灵感,会不会是因为我写在项目中的server部分有问题,因为server部分有自己的main方法,也就
是说在Android项目中既有启动应用程序的activity也有启动java
程序的main方法。所以,run的时候,就出现了问题了,此时java
应
用程序也就是server要启动自己的main方法,但是Android需要启动自己的activity,这时候就没办法做出选择了。(或许,这个是
Android的一个bug吧)。然后,我就把server移出Android项目(正确的做法就是应该这样,将他们放在一起是不对的,服务器端课客户端
显然不能放在一起),就是将main方法的类移出来,果然程序可以正确执行了。现在我需要验证我的想法,是不是因为main方法的问题呢?于是我在
Android客户端项目中添加了一个带有main方法的输出helloworld的类,果然出现的相同的错误,基本验证了自己的想法,但是不知道为什么
这样。结论教训:在Android项目中不能同时写带有java
中的main方法的类。
原文链接:http://hi.baidu.com/%CE%D2%BA%DC%B0%AE%D5%C5%B2%AE%C2%D7/blog/item/05479dfc1e5de30509244d8f.html/cmtid/364d49d88687022310df9b65
虽然知道原因了,但是我在我的项目中还是找不到main方法,解决办法如下:
选择Run-> Run Configurations -> Android Application -> Android 标签页 -> 选择launch Action ->选择第二个选项:
lauch:选择指定的activity
设置完成,再debug就没有问题了
为什么没有main函数了,但是还是会报错,然后选择指定的activity就可以了呢?我思考的原因如下,因为昨天,为了测试一个用例,我写了个main函数,但是后来我又删除掉了,可能在这个时间内,由于eclipse运行的时候选择的是默认的activity,而且记住了这个main函数(即时我删除掉了),因此我在后面的时候,每次运行由于socket已经被main函数占用了,都会报错,而由于我又重新设置了lauch Action, 选择了指定的activity,所以再运行就不报错了。
另外,如果不是上述的原因,可能是配置的多个Java Application或者Android Application都指向了同一个Project,所以报错,解决办法就是选择Run-> Run Configurations -> Android Application 或者选择Run-> Run Configurations -> JAVA Application把指向同一个Project的Application都删除掉,就可以了。
分享到:
相关推荐
基于Android手机app开发与设计--毕业设计--开题分析报告.pdf基于Android手机app开发与设计--毕业设计--开题分析报告.pdf基于Android手机app开发与设计--毕业设计--开题分析报告.pdf基于Android手机app开发与设计--...
基于Android手机app开发与设计--毕业设计--开题分析报告 (2).pdf基于Android手机app开发与设计--毕业设计--开题分析报告 (2).pdf基于Android手机app开发与设计--毕业设计--开题分析报告 (2).pdf基于Android手机app...
基于Android手机app开发与设计--毕业设计--开题分析报告 (2).docx基于Android手机app开发与设计--毕业设计--开题分析报告 (2).docx基于Android手机app开发与设计--毕业设计--开题分析报告 (2).docx基于Android手机...
android开发_使用Android-Studio开发的android版新闻APP
安卓开发之串口通信android-serialport-api-master,虽然是从Github上面下载下来的,但是从下载到使用还是有很多问题,其中之一就是由于该api是今年前开发出来的,sdk版本过低导致现在的eclipse不能直接使用,关于此...
Android项目开发实验报告,可以作为一个基础模板参考,对app的介绍十分详细。主要是一个AA结算的app
这个是api 21~25(android 5.0.1-7.1.1)能用的app源码,使用eclipse+adt开发(不习惯用AS),android8.0(api26)因时间原因未能测试是否可用。不过android10.0因为api变化被证明肯定不能用。里面除了源码、还有...
Android--蓝牙传输App
安卓app开发项目-LumaQQ-Android qq 代码(源码).zip安卓app开发项目-LumaQQ-Android qq 代码(源码).zip安卓app开发项目-LumaQQ-Android qq 代码(源码).zip安卓app开发项目-LumaQQ-Android qq 代码(源码).zip安卓app...
基于Android手机app开发与设计--毕业设计--开题报告.doc
参考使用,欢迎下载
这是一个Android项目源码,用AndroidStudio开发工具创建,正常编译运行,请放心下载, 主要用于实现搭载Android系统的手机,平板,电视机顶盒设备上运行时钟显示的功能, 让简直设备活起来,实现它存在的价值。 如果...
<android开发资料> ├Professional_Android_App.pdf ├新版Android开发教程&笔记--基础入门二.pdf ├新版Android开发教程&笔记--基础入门一.pdf ...└新版Android开发教程+笔记五--模拟器、应用1、2.pdf
<android开发资料> ├Professional_Android_App.pdf ├新版Android开发教程&笔记--基础入门二.pdf ├新版Android开发教程&笔记--基础入门一.pdf ...└新版Android开发教程+笔记五--模拟器、应用1、2.pdf
基于java的开发源码-原生安卓影视app苹果CMS对接(支持PC+WAP+APP).zip 基于java的开发源码-原生安卓影视app苹果CMS对接(支持PC+WAP+APP).zip 基于java的开发源码-原生安卓影视app苹果CMS对接(支持PC+WAP+APP).zip ...
基于Java的游戏,界面美观,欢迎下载
安卓app开发项目-联想Android开发工程师面试题(源码).zip安卓app开发项目-联想Android开发工程师面试题(源码).zip安卓app开发项目-联想Android开发工程师面试题(源码).zip安卓app开发项目-联想Android开发工程师面试...
TopActivity 展示当前app所处的最顶activity
自己转换的Android开发指南中的In-app Billing章节, 制作成了6寸的PDF,专门为Kindle3等6寸电纸书设计。
找了好久才找这个完整android-support-v7-appcompat .jar