1.res中的文件没有及时编译,生成R中的ID,但是源文件中还是用了这些ID
2.如果程序运行了,在DDMS中应该能看到的
3.Clean 一下重新编译,在DDMS中把先前的改程序的进程杀掉,然后再部署运行

解决方案 »

  1.   

    1.在eclipse新建一个android项目的时候,项目出红叉,删除里面的R.java文件,刷新让它重新生成,红叉消失。为什么这样?

    这个是因为在你的src--R.java,而在gen--也有一个R.java,所以就出现错误

    2.在模拟器中运行一个程序,正常,运行第二个项目的程序,出错,在程序列表中看不到这个程序。多次运行,不停的试,总算出来了,但第一个程序又找不到了。为什么模拟器中只出现一个程序呢??模拟器反应怎么那么慢呢?怎么解决?
    这个你运行的时候,如果是同一个模拟器的话,第一次的运行的程序一定还是存在的,除非你用命令把它卸载掉
    3.修改代码中的内容,再次运行,程序结果还是上次未修改的内容?
    这个问题偶尔会出现,你可以把模拟器关掉,把你的程序保存后,然后再次运行,应该就ok了!
      

  2.   

    1.版本兼容问题,你的源代码可能和你编译的环境sdk版本不同,有的源代码比较老,R.java的地方不桶,而编译环境又会生成一个R.java,所以形成冲突。
    2.按back键可以回到模拟器主界面,里面有很多程序图标,可以去找调试过的所以应用程序。
    3.可能代码没有保存就开始编译运行了。
      

  3.   

    1.R.java是编译后生成的,里面都是对工程中资源的定义,你可以看,都是int型的ID,程序中都是R.id.xxx这么用。2.你用模拟器run工程的时候,Eclipse中console栏会提示你现在安装的apk信息,以及你启动的模拟器名称,至于起哪个模拟器,那要看你本地建立了多少个模拟器了,ADT可以创建,run configuration中可以选择把对应工程run到哪个模拟器上。你run同一个工程两次,如果没有变化,console会提示无需卸载重安,然后会直接运行程序。假如有时会run会失败,那就要手动卸载模拟器中的对应的应用程序了,可能是模拟器内存在创建的时候设置过小,这样反复安装会提示内存不够3.一般这样的问题不多,因为你run工程的时候Eclipse会提示,假如有修改没保存,提示是否保存,然后才会去编译运行。这种情况下一般我都会程序中打个换行,然后build;不行的话就F5刷新一下project,然后build;还不行就clean然后build,再不行就关了Eclipse重新来;还不行....那RP爆了,回头再搞!
      

  4.   

    1、R.java自动生成,与res下的资源对应,编写过程中res下有改动,没及时反映到R.java,这就导致了红叉的出现。一般Build Project就可以消除红叉。但楼主说一开始生成项目就有红叉,这个就没碰到过。只有启动Eclipse后的前几秒出现一堆红叉。2、头几个不甚明白,但最后一个情况我碰到过,如果我的理解和你一致的话。其实是模拟器启动慢,模拟器启动就相当于手机开机,你可以理解为Android手机开机慢,你运行完项目之后,别关模拟器(相当于不关手机),就可以直接运行下一个程序了。3、好像碰到过这情况,但不多,但我为了保证当前运行的是已经修改过的代码,我一般都是打印一串字符,每次需要分辨就改一下字符串。
      

  5.   

    我的创建项目后也会出现红叉,我是把 res /values/string.xml  下的<string name="hello">Hello World, Test!</string>    叹号去掉就没有了,
    我也不知道为什么。
      

  6.   

    其实我也才学习anroid一个月而已,只不过遇到和楼主类似的问题而已
      

  7.   

    你的adt版本升级了,使用项目属性修复工具,如果太老的项目,比如android 1.5以前的可能无法修复了,手动移植下java代码重构把