48

我正在尝试新的 Android Studio。我已经使用 build gradle 选项从 eclipse 中导出了一个项目。然后我将它导入到 Android Studio 中。gen 下的 R.java 文件上面有一个小红圈中的aj。在我的源文件中,无论我在哪里引用资源,例如“R.layout.account_list”等,我都会得到“无法解析符号 R”。

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

4

31 回答 31

34
  1. 按 F4 进入项目结构,检查左侧的SDK
  2. 点击Modules ---> Source选项卡,勾选gensrc作为源

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

于 2013-05-16T13:32:41.620 回答
29

文件 -> 使缓存无效

然后

重新启动应用程序

于 2015-01-31T17:16:55.950 回答
13

到目前为止,网络上的任何答案都没有帮助。Build > Make Project对我不起作用。对我来说,就像选择这个其他选项一样简单(在 Android Studio 1.3.1 上):

构建 > 制作模块“模块名称”

于 2015-08-28T20:53:59.183 回答
7

就我而言,我有一个从 Eclipse 导入的 Activity 文件,其中包含以下内容:

import android.R;

所以我所有的 R 类都解析为 SDK,只要我注释掉该行,所有内容都正确编译到我的包中。当我将项目从我的 Mac 移动到我的 Windows 机器时,我才注意到这个问题。

于 2013-06-17T03:30:08.043 回答
4

当我开始使用 build.gradle 合并必要的数据(signingConfigs)来构建签名的 .apk 时,这个问题开始发生在我身上。在从命令行似乎成功构建之后,我发现使用 R.* 进入任何类时,所有 R.* 引用都未解析。

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

于 2013-11-21T01:34:56.527 回答
3

这可能是由于资源构建失败造成

Build > Rebuild Project

于 2015-03-12T07:41:11.883 回答
2

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

然后重建项目

于 2013-06-26T08:03:28.047 回答
2

我曾多次对这个问题感到沮丧,尤其是在将项目库作为另一个项目的一部分进行集成时。在最近发生的这个困扰问题中,我的 Android lib 项目使用的是 WebView。事实证明,Gradle 在名为“web”的子目录中构建了 R.class 文件,其路径与我的源代码路径没有任何关系。当我导入这个时,我的问题就消失了。我学到了什么?以后,只需对 R.class 进行文件搜索并记下它所在的路径。然后使用该路径将包导入您的代码。您必须手动执行此操作真的很糟糕。Gradle 应该自动导入它生成的包。

于 2015-06-22T07:10:14.013 回答
2

我也面临同样的问题,我在stackoverflow上经历了很多答案。然后我找到了一个可以帮助我解决这个问题的解决方案。

检查 AndroidManifest.xml 文件中的包名称。我在将另一个项目复制粘贴到新项目时忘记更改它。

于 2015-11-20T10:06:30.807 回答
1

除了上面给出的回复之外,这在 IntelliJ(不是 Studio)中对我有用:

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

于 2014-03-10T20:37:11.090 回答
1

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

  1. F4到项目结构,检查左侧的 SDK
  2. 点击 Modules ---> Source 选项卡,勾选 gen 和 src 作为源

尽管消息“我们将提供一个 UI 来稍后配置项目设置......等等”这对我有用。

于 2013-06-10T14:05:28.307 回答
1

请遵循以下五个步骤:

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

我遇到了同样的问题,但经过所有步骤后它对我有用。

于 2015-02-23T08:49:48.357 回答
1

解决方法是打开项目结构窗口。[按命令+;在 mac ox s. 我不知道其他平台的快捷键是什么。您应该可以在“文件”菜单下找到它。]并单击“项目设置”部分下的“模块”,然后您的项目就会显示出来,最后将生成的R.java标记为Sources。

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

第一次找真的不容易。

于 2014-12-11T12:59:57.673 回答
1

在 IntelliJ 14 上

检查是否排除了生成的源。通常在 Project Structure -> [module] -> Paths -> Compiler output: "Inherit compile output path"

于 2015-02-27T14:31:39.530 回答
1

首先检查是否有import android.R;在您的班级顶部,当在 android studio 中启用自动导入时会发生这种情况。

在那之后注释您使用 R 变量的所有代码行(您可以注释整个类或...)然后运行应用程序,它会重新生成 R 变量,您可以取消注释您的代码。

于 2013-11-14T18:59:47.377 回答
1

如果没有错误,您应该检查所有文件并再次在以下位置重建您的项目:

  • 构建 > 重建项目。

或在:

  • 文件 > 设置 > 构建、执行、部署 > 编译器

检查use external build并在重建项目后。

于 2016-05-18T13:59:26.717 回答
1

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

于 2015-08-26T10:30:13.727 回答
1

在您尝试清理和重建但未成功后,请检查您的res文件夹是否有损坏的文件。

就我而言,损坏的.png文件导致了所有麻烦。

于 2016-05-24T18:45:27.713 回答
0

我有同样的问题,并通过删除一个额外的库来解决它。

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

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

于 2014-10-22T17:01:16.340 回答
0

这些答案都没有帮助我!

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

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

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

构建配置

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

显现

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

R

package com.example.app;
public final class R {
}
于 2013-12-01T22:02:13.963 回答
0

我解决了设置 JAVA_HOME、CLASSPATH 的问题。

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

所以尝试检查环境变量。

类路径-> .;

JAVA_HOME -> C:\Program Files\Java\jdk(version) 或 Java 安装位置

然后检查可能有错误的xml文件(不要命名众所周知的东西,如按钮、文本等

于 2013-11-19T10:59:12.873 回答
0

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

文件 > 项目结构 > 模块 > 选择主模块 > 选择它的方面 > 生成的源

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

MY_PATH/.idea/gen

MY_PATH/gen

如果没有编译该代码,apk 将成功构建并运行

但 Android Studio 编辑器在所有子包类中将 mypackage.R.anything 突出显示为“无法解析”

于 2014-09-10T17:31:55.030 回答
0

检查 build.gradle 中的构建工具版本(对于模块应用程序)。然后转到 android sdk manager 查看是否安装了版本,如果没有安装,或者将构建工具版本更改为如下所示安装的版本。

    android {
          buildToolsVersion "22.0.1"
          ..
          ..
          ..
     }
于 2015-06-05T02:56:26.783 回答
0

上面https://stackoverflow.com/users/1373278/hoss发布的解决方案 对我有用。我在这里复制它,因为我还不能评论 hoss 的帖子:

import android.R; 从有问题的活动文件中删除。

我的设置:

安卓工作室 1.2.2

将项目从一台 Mac 导出到 Git(一切正常)。然后我从 Git 将项目导入到另一台 Mac 上。那是它停止解析资源文件的时候。

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

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

import android.R;除了从我的活动 java 文件中删除之外,没有任何效果。

为避免将来出现此问题,请将.idea文件夹添加到您的.gitignore文件中。在 Android Studio 中有一个不错的 git 插件,用于 gitignore。安装此插件并右键单击.idea > Add to .gitignore

于 2015-06-13T22:24:48.987 回答
0

只需清理项目,然后将您的项目与 gradle 文件同步。

于 2015-06-22T15:35:25.550 回答
0

我在 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目录。

于 2016-05-11T15:01:34.687 回答
0

从 Eclipse 导入项目时出现此错误。原因是某些 xml 文件有错误。检查所有 XML 文件是否有错误。包括androidmanifest.xml,以及values、themes、styles、layouts文件夹等。xml中的警告是可以的,但是错误会产生这个错误。

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

于 2016-01-02T21:56:59.910 回答
0

就我而言,我发现引用了“android.R.layout.account_list”而不是“R.layout.account_list”。只需删除“android”。可以解决问题。希望这对您有所帮助,因为有时您可能会在过于专注时忽略。

于 2015-08-17T12:51:16.050 回答
0

对我来说,在 Android Studio 1.5.1 中,解决方案是重新创建整个项目,名称略有不同。

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

于 2016-02-05T12:26:33.140 回答
0

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

gen/com/example/app/BuildConfig.java

gen/com/example/app/Manifest.java

gen/com/example/app/R.java

我不确定是什么导致它们发生变化,因为我以前从未修改过这些文件。

于 2015-09-21T15:18:19.897 回答
0

就我而言:

我不得不复制参考R 文件;即右键单击 gen/<package>/R 并复制参考。然后将其粘贴到代码中无法解析的 R 上。

这为我解决了(在这里尝试了所有其他内容之后)。仍然不确定为什么说实话。

于 2015-09-12T14:07:05.087 回答