Android Studio无法parsing导入的项目中的R?

我正在尝试新的Android Studio。 我从eclipse导出了一个项目,使用构buildgradle选项。 然后我将它导入到Android Studio中。 gen下的R.java文件有一个小红圈。 而在我的源文件中,无论何处我有一个资源的引用,例如“R.layout.account_list”等,我都会得到“无法parsing符号R”。

我以前从未使用过Intellij。 将不胜感激任何帮助,因为那里显然没有太多关于Android Studio的答案。 谢谢!

  1. 按F4进入项目结构 ,检查左侧的SDK
  2. 点击Modules —> Source Tab,检查gensrc作为源

PS:超过一年的答案和菜单已经改变。

文件 – >无效的caching

然后

重新启动应用程序

到目前为止,networking上的答案都没有帮助。 生成>使项目没有为我工作。 对我来说,就像select其他选项一样简单(在Android Studio 1.3.1上):

Build> Make Module'模块名'

在我的情况下,我有一个从Eclipse导入的活动文件的行:

import android.R; 

所以我所有的R类都解决了SDK,只要我注释了一切正确编译到我的包的行。 当我将项目从我的Mac移动到Windows机器时,我只注意到了这个问题。

当我开始使用build.gradle合并必要的数据(signingConfigs)来构build一个签名的.apk时,这个问题就开始发生了。 在从命令行看来是一个成功的构build之后,我发现使用R. *进入任何一个类,所有R. *引用都没有解决。

这里的答案没有帮助我。 我决定重新导入这个项目,并且神奇地解决了这个问题。 文件/导入项目…并select我的应用程序根文件夹中的build.gradle文件。 我很想知道为什么重新import固定这:)

这可能是由于资源构build失败

一旦问题得到解决,单单一个Build > Rebuild Project就可以做到这一点

转到文件 – > 设置 – > 编译器现在检查使用外部构build

然后重build项目

我曾多次面对这个问题感到沮丧,特别是在将项目库作为另一个项目的一部分进行集成时。 在最近发生的这个困扰的问题中,我的Android lib项目使用了WebView。 事实certificate,Gradle在一个名为“web”的子目录中构build了R.class文件,该目录的path与我的源代码path没有任何关系。 当我input这个时,我的问题就没有了。 我学到了什么? 将来,只需要对R.class进行文件search并logging它所在的path。 然后使用该path将程序包导入到代码中。 这真的很糟糕,你必须手动执行此操作。 Gradle应该自动导入它生成的包。

首先检查是否有导入android.R; 在你的类的顶部,这发生在android studio中启用自动导入。

在那之后注释你使用Rvariables的所有代码行(你可以评论整个类或…),然后运行应用程序它重新生成Rvariables,你可以取消注释你的代码。

在IntelliJ(Not Studio)中,除了上面的回复之外,以下是我的工作内容:

您需要将Android构面附加到现有的Android模块。 为此,请从“模块设置”的模块列表中select模块,点击顶部的“+”button并select“Android”。 请参阅https://www.jetbrains.com/idea/webhelp/enabling-android-support.html

解决方法是打开项目结构窗口。 [通过新闻命令+; 在mac ox s上。 我不知道其他平台的关键捷径。 你应该可以在“File”菜单下find它),然后点击“Project settings”部分的“Modules”,然后显示你的项目,最后把生成的R.java标记为Sources。

我正在使用Intellij思想14.0 CE。 生成的R.java位于build / generated / source / r / debug / com / example / xxx

第一次真的不容易find。

按照以下五个步骤:

  1. 步骤1 ===>删除(CTRL X)XML清单文件中的附加标签。
  2. 第2步===>打开生成 – >清洁项目。
  3. 步骤3 ===>打开XML清单文件,并通过最后一个附加标签(s),如:标签清单文件示例:( <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
  4. 步骤4 ===>再次步骤2。
  5. 第5步===>打开工具 – > Android – >与“Gradle”同步项目。

我有同样的问题,但毕竟这是为我工作的步骤。

在IntelliJ 14上

检查生成的源是否被排除。 通常在项目结构 – > [模块] – >path – >编译器输出:“inheritance编译输出path”

我的问题是我有文件“default.jpg”在可绘制的文件夹中,由于某种原因,每个资源都没有解决。 修复后删除该文件!

我也面临着同样的问题,我经历了很多在stackoverflow上的答案。 然后我find了一个解决scheme,帮助我解决这个问题。

在AndroidManifest.xml文件中检查包名。 我忘了改变它,而把另一个项目粘贴到新项目中。

你应该检查所有的文件,如果没有错误,再次重build你的项目:

  • 生成>重build项目。

或在:

  • 文件>设置>构build,执行,部署>编译器

检查use external build和重build项目后。

关于以下内容,来自Crossle Song的回答

  1. F4进入项目结构,检查左侧的SDK
  2. 点击Modules —> Source Tab,检查gen和src作为源

尽pipe有消息“我们将提供一个用户界面来configuration项目设置后来….等”这对我工作。

这些答案都没有帮助我!

我的问题不是问题! 该程序可以完全编译并在设备上运行,但IDE给了我一个恼人的语法错误。 它强调了包括“R”的代码行。

我可以解决这个问题的方式:

我只是在“myapp / gen /com.example.app/”文件夹中添加了这三个类:

BuildConfig

 package com.example.app; public final class BuildConfig { public final static boolean DEBUG = true; } 

performance

 package com.example.app; public final class Manifest { } 

[R

 package com.example.app; public final class R { } 

我解决了这个问题,设置JAVA_HOME,CLASSPATH。

设置Java_path时,人们有时会跳过JAVA_HOME和CLASSPATH。

所以尝试检查环境variables。

CLASSPATH – >。

JAVA_HOME – > C:\ Program Files \ Java \ jdk(版本)或者Java安装的地方

然后检查可能有错误的XML文件( 不要命名诸如button,文本等众所周知的东西

在我的情况下(Linux,Android Studio 0.8.6)有以下帮助:

文件>项目结构>模块>select主模块>select其构面>生成的来源

更改“生成文件目录”的值

 MY_PATH/.idea/gen 

 MY_PATH/gen 

如果没有编译代码,apk就会成功build立并运行

但是Android Studio编辑器突出显示了mypackage.R中的所有子包类中的“无法parsing”

我有同样的问题,并通过删除一个额外的库得到修复。

要尝试此解决scheme,请转到“文件”>“项目结构”(在Mac上,您可以使用“Apple”命令)

然后select左侧选项卡上的应用程序。 转到依赖关系选项卡并删除额外的库。

在build.gradle中检查构build工具版本(对于模块应用程序)。 然后去android sdkpipe理器,看看是否安装版本,如果没有安装它或更改构build工具版本的安装如下。

  android { buildToolsVersion "22.0.1" .. .. .. } 

上面的https://stackoverflow.com/users/1373278/hoss发布的解决scheme为我工作。; 我在这里复制,因为我还不能评论霍斯的post:

删除import android.R; 来自您的活动文件。

我的设置:

Android Studio 1.2.2

从一个Mac导出项目到Git(一切正常)。 然后我从Git的另一台Mac上导入项目。 那当它停止parsing资源文件。

我在这个线程上尝试了一切:

  1. 使caching无效并重新启动
  2. 删除.iml文件和.idea文件夹并重新导入项目
  3. 清理和重build项目

没有任何工作,除去import android.R; 从我的活动Java文件。

为了避免将来出现这个问题,请将.idea文件夹添加到.gitignore文件中。 在Android Studio中有一个gitignore插件。 安装这个插件,并右键点击.idea > Add to .gitignore

只是干净的项目,然后同步您的项目与gradle文件。

在我的情况下,我发现“android.R.layout.account_list”被引用,而不是“R.layout.account_list”。 只需删除“android”。 可以解决这个问题。 希望这个帮助,因为有时你可能会忽视,当你太专注。

在我的情况下:

我不得不复制引用 R文件; 即右键单击gen / <package> / R和Copy Reference。 然后将其粘贴到代码中无法parsing的R上。

这解决了我(在尝试其他所有事情之后)。 仍然不知道为什么它说实话。

我有同样的问题。 软件包名称在以下三个文件中的两个中是错误的。 我手动更新了包名,一切又开始工作。

GEN / COM /示例/应用程序/ BuildConfig.java

GEN / COM /示例/应用程序/ Manifest.java

GEN / COM /示例/应用程序/ R.java

我不知道是什么导致他们改变,因为我从来没有修改过这些文件。

从Eclipse导入项目时出现此错误。 原因是一些xml文件有错误。 检查所有的XML文件的错误。 包括androidmanifest.xml,值,主题,样式,布局文件夹等。在xml中的警告是好的,但错误会产生这个错误。

之后,做一个清洁项目并重build。

对于我来说,使用Android Studio 1.5.1,解决scheme是用一个稍微不同的名字重新创build整个项目。

我认为它没有处理应用程序名称“Kommentator_AS”,因为有几个地方的软件包被命名为“Kommentator”。

我在intellij 2016.1中遇到了这个问题,因为我将生成的源文件设置为不在基本项目目录中的目录。

例如,在Android方面,在“生成源”下,我有:

Directory for generated files: <project dir>/target/intellij-gen

当我将其更改为<project dir>/gen ,问题就消失了。

同样,当我将其更改为<project dir>/gen2 ,问题也消失了 – 但是我必须做一个彻底的清理才能让它重新编译:

rm -rf ~/.IdeaIC2016.1/system/compile-server/<project>_<hash>

并删除所有生成的目录和target目录。