更新后没有生成R.java

时间:2012-09-02 19:01:42

标签: android eclipse r.java-file

我的R.java一代不存在,但我的BuildConfig.java仍然在重建项目时生成。此问题未本地化到我的工作区中的单个项目,而是整个工作区,其中包含从gingerbread到jb的项目,所有这些都表现出此错误。我已经在Android平台上工作了一年多了,而R.java一代总是有点神秘,但似乎总是通过重新启动eclipse或重建项目来解决问题。

这是在我对java 7运行java更新时开始的,所以更改回java 6 sdk,特别是1.6.0_26,做了全新安装的eclipse(4.2),android sdk和adt,但是没有影响。

我正在与其他组成员一起工作(使用相同的主git repo工作),他们没有R.java生成的问题,所以我可以肯定地说文件中没有错误导致R.java不生成。

作为免责声明,是的,我在这里阅读了与R.java相关问题的大量材料。

有什么建议吗?感谢

3 个答案:

答案 0 :(得分:2)

我有完全相同的症状。

问题

  • R.java未在整个工作区中进行构建,导致尝试导入时出错:

    The import <tld>.<project>.R cannot be resolved

  • 报告尽管存在以下内容无法确定adb版本的错误:

    Failed to get the adb version: Cannot run program "/home/dtk/.opt/android-sdk-linux/platform-tools/adb": java.io.IOException: error=2, No such file or directory from '/home/dtk/.opt/android-sdk-linux/platform-tools/adb' - exists=true`
    dtk@humbee ~/.opt/android-sdk-linux/platform-tools % ll | grep adb
    -rwxr-xr-x 1 dtk dtk 200K Sep 12 14:41 adb*
    dtk@humbee ~/.opt/android-sdk-linux/platform-tools % file adb
    adb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
    dtk@humbee ~/.opt/android-sdk-linux/platform-tools % ./adb
    zsh: no such file or directory: ./adb
    127 dtk@humbee ~/.opt/android-sdk-linux/platform-tools %

解决方案

安装ia32-libs为我修复了它:

root@humbee:~# uname -m
x86_64
root@humbee:~# aptitude search ia32-libs
p   ia32-libs                                                                                                     - ia32 shared libraries for use on amd64 and ia64 systems                                                                 
p   ia32-libs-dev                                                                                                 - ia32 development files for use on amd64 and ia64 systems                                                                
p   ia32-libs-gtk                                                                                                 - GTK+ ia32 shared libraries                                                                                              
v   ia32-libs-static                                                                                              -                                                                                                                         
root@humbee:~# aptitude install ia32-libs
The following NEW packages will be installed:
  ia32-libs lib32asound2 lib32bz2-1.0 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32tinfo5{a} lib32v4l-0 lib32z1 libc6-i386{a} 
    [...]
dtk@humbee ~/.opt/android-sdk-linux/platform-tools % ./adb version
Android Debug Bridge version 1.0.29
dtk@humbee ~/.opt/android-sdk-linux/platform-tools % 

HTH, DTK

答案 1 :(得分:0)

如果你正在使用Eclipse,我建议开启扩展日志记录,它应该显示AAPT输出,当AAPT是一个生成R.java的工具时。

要进行此操作 - 转到Window-&gt; Preference-&gt; Android-&gt;构建并将BuildOutput设置为Verbose。 完成后 - 进行干净的构建并最大限度地关注Eclipse中的COnsoleOutput选项卡。每条警告或信息都可以指导您解决错误。

如果您发现有趣的事情,请告诉我们。

祝你好运

答案 2 :(得分:0)

我遇到了最新的更新。 删除然后重新导入项目到我的工作区修复了它。