R.java没有使用Intellij Idea 12生成

时间:2012-11-15 10:41:50

标签: android intellij-idea

我是Android开发的新手,我正在使用IntelliJ Idea 12。 一切都设置正确,但我面临的一个问题是我的文件夹内的R.java文件没有应该存在的代码。我认为这段代码应该是自动生成的,但它不存在。 以下是关于我的项目结构的链接:

我无法发布两个以上的链接,所以这是指向图库的链接: http://postimage.org/gallery/19189wei/

它包含我的string.xml,main.xml,R.java,HaikuDisplay.java 所以我想知道问题在哪里?

6 个答案:

答案 0 :(得分:3)

我不打算看R文件 - 我的也是空的并没关系。尝试输入R.并查看可用的内容。如果你没有设置你的东西,请确保你没有在你的导入中导入Android.R - 这将覆盖你的R并使用SDK目录中的那个。希望有所帮助。

答案 1 :(得分:3)

我对构思12有同样的问题(并且在构思11中没有这样的问题)。要修复它,您可能需要检查以下内容:

  • 打开模块设置(F4)/ ProjectName / Module SDK设置为Android [版本]
  • 文件夹'gen'存在于项目根目录中并设置为src(实际上它可以是,并且将是空的,但我无法弄清楚为什么没有它就无法工作。)
  • 更新AndroidManifest.xml(只需在某处添加空格并保存)。
  • 如果想法仍然无法找到您的任何ID或字符串 - 尝试逐个打开它,并用空格更新:)

在那个想法之后会发现,布局文件夹中有很多xml,并且会知道所有id,xmls和字符串。

但是R.java文件仍然是空的,gen文件夹不会包含任何空的BuildConfig.java文件,并且不会有其他包含所有这些常量的R.java文件。

看起来想法12而不是想法11将其生成的R.java常量存储在项目文件夹(.idea)中,如果您使用'pom.xml'作为项目描述 - 您将需要检查所有这些点重新加载pom.xml文件后再次。

答案 2 :(得分:2)

检查您的AndroidManifest.xml文件。 Idea 12放下两个元素,只能有一个。删除你想要的,重建。

此外,您可以检查清单元素中的包值。确保它对应于您的项目。 Idea 12为我的项目生成了以下内容,其中com.awesome.skynetclient作为root包:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.exeample.SkynetClient"
      android:versionCode="1"
      android:versionName="1.0">

答案 3 :(得分:0)

从文件顶部删除自动添加的import android.R;,为我工作。

答案 4 :(得分:0)

我也发现了这一点,可能是因为IDE想要阻止你错误地编辑R.java文件。

答案 5 :(得分:0)

Android Maven项目存在同样的问题。我的解决方案是,我查看项目历史记录,发现我的Manifest.xml文件以某种方式被修改,文件路径被更改,但是GOD知道我没有做出这些更改。所以我只是恢复这个变化并重建项目。