作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法。

可是导入android源码后,基本都有错误,R.java也不会自动生成,

因为是第一次导入工程,工程有错R.java就不会自动生成了,工程有错误,当然模拟器就不能启动,也就看不到效果。

在网上找到的各种解决方法,总结如下:
  
1、选择菜单  Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clean后会重新构建项目。
  因为一般情况下,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不会自动生成。

2、选择工程,右键 Android Tools >> Fix Project Properties 这个操作有时候可以修正一些错误。

3、还有的说法是重新建一个空的工程,然后把这里面的代码,资源文件按照对应的包路径什么的拷进去,然后重新生成。
  这种方法,等价于第1种方法,都是重新构建部暑。

 以上几种方法都试了,R.java依旧没出现,整个工程还是一大堆错误。任意点开一个有错误的布局XML文件,如果看到类似的错误代码:            android:layout_height="match_parent" , 就有可能是工程的SDK版本和eclipse默认的SDK版本不匹配的问题。
  于是选择工程,右键 Properties >> Android 然后看到右边的一块 Target Name, 把选中 Android 1.5,换到2.2(最新的),重新构建。
  错误没了,久未解决的问题解决了,R.java也出来了,一个字高兴啊,启动模拟器一切正常。

  总结下当导入其它源码时候,首先要保证源码的SDK版本和你eclipse默认版本是否一致。 
  查看源码版本办法:打开default.properties 文件,看target=android-7 这后面这个数是多少。 
  版本对应关系:target=android-3 <---> android 1.5  ... ..., target=android-8 <---> android 2.2 其它的自己测试下。

-----------------我是分割线-----------------------------------------------------------------------

自动生成的工程里缺少R.java,

按照网上的方法“右击你的工程(项目)——>Android Tools——>Fix Project Properties ”不管用,

确保项目编译了一下clean,或是右击项目-->property-->android-->applay一下 也是不行

google和百度一通后,无果。

继后跟踪发现,R.java在工程里面自动生成,后到官方站点看了帮助文档,发现通过platform-tools路径下的aapt.exe执行,

再经过检测,aapt.exe程序好像已经损坏,不能执行,故而再sdk setup中执行,获取该文件,覆盖原来的,R.java自动产生了。

问题解决,为何aapt.exe损坏,还有待考证:

http://www.cnblogs.com/cngreatwall/archive/2011/03/11/1980525.html

-----------------我是分割线-----------------------------------------------------------------------

R.java 文件不能生成,但碰到的和上面提到的都不一样——

1、:AndroidManifest.xml

<activity android:name=".Index" android:label="@string/index"> </activity>

  提示 index没定义!

2、包名改了, AndroidManifest.xml里的还没改过来。

3、资源文件只能以小写字母和下划线做首字母,随后的名字中只能出现 a-z、0-9、_ 这些字符。

android 工程里缺少 R.java 文件原因和解决方法的更多相关文章

  1. 兔子--R.java丢失原因及解决的方法

    R.jar丢失原因: a:eclipse指向的adk路径有中文,或者是workspace路径有中文 b:xml文件里有错误或者引用的资源不存在 c:xml或者drawable下资源文件不能够有大写字母 ...

  2. Android Studio 项目代码全部消失--出现原因及解决方法

    出现原因,自己把项目地址父层目录文件名修改了,导致原来打开的项目位置不对,代码全部消失.这样就只要关闭项目,打开一下你修改路径下的项目即可.因为原来的项目还在原来的路径下寻找,但是原来的路径发生了改变

  3. Tomcat的webapps目录下的classes文件夹下缺失编译好的.class文件原因及其解决方法

    右键,选择BuildPath: 可以编辑Output folder,指定编译后的文件的存放目录,一般是target/classes目录

  4. Android Studio maven-metadata.xml 卡着不动原因和解决方法

    头一天好好的,第二天就卡着了. 一直在这个地方不动,如果停止就会报 Error:Could not run build action using Gradle distribution ‘https: ...

  5. Android下HelloWorld项目的R.java文件介绍

    R.java文件介绍 HelloWorld工程中的R.java文件 package com.android.hellworld; public final class R {     public s ...

  6. R.java文件介绍

    HelloWorld工程中的R.java文件 package com.android.hellworld; public final class R {     public static final ...

  7. eclipse android 不会自动生成R.java文件和包的解决办法

    eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法   我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动 ...

  8. 【android相关】【问题解决】R.java文件丢失

    在进行android开发过程中,有时候,我们会遇到gen文件中R.java丢失的现象.重新build,或者clean工程,close并重新打开Project,但有时也没解决. 这可能是由于不小心把xm ...

  9. [转]eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法

    原网址 : http://www.cnblogs.com/zdz8207/archive/2012/11/30/eclipse-android-adt-update.html 网上解决方法主要有这几种 ...

随机推荐

  1. ResultSet取结果集多少条记录方法及分页概要

    allst=toconn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); allsql = ...

  2. CSS3制作日历

    目标是制作如下面DEMO显示的一个日历效果: HTML Markup 先来看看其结构: <div class="calendar"> <span class=&q ...

  3. Appium0.18.x迁移到Appium1.x须知事项

    英文原版:https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/migrating-to-1-0.md Migr ...

  4. [Unity-7] Update和FixedUpdate

    1.Update和FixedUpdate这是Unity既用内提供的帧功能接口相关联. Update():这个函数里面的内容每一帧都会被运行一次.这个函数有一个特点,那就是运行的频率等于帧率.而这个帧率 ...

  5. 用CQRS+ES实现DDD

    用CQRS+ES实现DDD 这篇文章应该算是对前三篇的一个补充,在写之前说个题外话,有园友评论这是在用三层架构在写DDD,我的个人理解DDD是一种设计思想,跟具体用什么架构应该没有什么关系,DDD也需 ...

  6. Visual Studio Contact

    Visual Studio Contact(); 直播笔记   昨天微软干了几件了不起的事:.NET开发环境将开源.跨平台支持(Mac OS X和Linux).多设备支持(WP.Android和iOS ...

  7. leetcode第31题--Longest Valid Parentheses

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  8. C# 利用SMTP异步发送邮件

    C#实现收发邮件功能需要用到两个命名空间  System.Net; 和 System.Net.Mail; SmtpClient client = new SmtpClient("smtp.g ...

  9. JSFIDDLE 动力 Threejs 功能探秘

    JSFIDDLE 助力 WebGL 功能探秘 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协 ...

  10. 区域、模板页与WebAPI初步

    区域.模板页与WebAPI初步 一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域( ...