我正在尝试新的 Android Studio。我已经使用 build gradle 选项从 eclipse 中导出了一个项目。然后我将它导入到 Android Studio 中。gen 下的 R.java 文件上面有一个小红圈中的aj。在我的源文件中,无论我在哪里引用资源,例如“R.layout.account_list”等,我都会得到“无法解析符号 R”。
我以前从未使用过 Intellij。将不胜感激任何帮助,因为显然还没有很多关于 Android Studio 的答案。谢谢!
我正在尝试新的 Android Studio。我已经使用 build gradle 选项从 eclipse 中导出了一个项目。然后我将它导入到 Android Studio 中。gen 下的 R.java 文件上面有一个小红圈中的aj。在我的源文件中,无论我在哪里引用资源,例如“R.layout.account_list”等,我都会得到“无法解析符号 R”。
我以前从未使用过 Intellij。将不胜感激任何帮助,因为显然还没有很多关于 Android Studio 的答案。谢谢!
PS:一年多的答案和菜单已经改变。
文件 -> 使缓存无效
然后
重新启动应用程序
到目前为止,网络上的任何答案都没有帮助。Build > Make Project对我不起作用。对我来说,就像选择这个其他选项一样简单(在 Android Studio 1.3.1 上):
构建 > 制作模块“模块名称”
就我而言,我有一个从 Eclipse 导入的 Activity 文件,其中包含以下内容:
import android.R;
所以我所有的 R 类都解析为 SDK,只要我注释掉该行,所有内容都正确编译到我的包中。当我将项目从我的 Mac 移动到我的 Windows 机器时,我才注意到这个问题。
当我开始使用 build.gradle 合并必要的数据(signingConfigs)来构建签名的 .apk 时,这个问题开始发生在我身上。在从命令行似乎成功构建之后,我发现使用 R.* 进入任何类时,所有 R.* 引用都未解析。
这里的答案对我没有帮助。我决定重新导入该项目,它神奇地解决了这个问题。文件/导入项目...并在我的应用程序根文件夹中选择 build.gradle 文件。我很想知道为什么重新导入解决了这个问题:)
这可能是由于资源构建失败造成
的Build > Rebuild Project
转到文件->设置->编译器现在检查使用外部构建
然后重建项目
我曾多次对这个问题感到沮丧,尤其是在将项目库作为另一个项目的一部分进行集成时。在最近发生的这个困扰问题中,我的 Android lib 项目使用的是 WebView。事实证明,Gradle 在名为“web”的子目录中构建了 R.class 文件,其路径与我的源代码路径没有任何关系。当我导入这个时,我的问题就消失了。我学到了什么?以后,只需对 R.class 进行文件搜索并记下它所在的路径。然后使用该路径将包导入您的代码。您必须手动执行此操作真的很糟糕。Gradle 应该自动导入它生成的包。
我也面临同样的问题,我在stackoverflow上经历了很多答案。然后我找到了一个可以帮助我解决这个问题的解决方案。
检查 AndroidManifest.xml 文件中的包名称。我在将另一个项目复制粘贴到新项目时忘记更改它。
除了上面给出的回复之外,这在 IntelliJ(不是 Studio)中对我有用:
您需要将 Android 构面附加到现有的 Android 模块。为此,请从“模块设置”的模块列表中选择模块,点击顶部的“+”按钮并选择“Android”。请参阅https://www.jetbrains.com/idea/webhelp/enabling-android-support.html。
关于以下内容,来自Crossle Song 的回答
- 按F4到项目结构,检查左侧的 SDK
- 点击 Modules ---> Source 选项卡,勾选 gen 和 src 作为源
尽管消息“我们将提供一个 UI 来稍后配置项目设置......等等”这对我有用。
请遵循以下五个步骤:
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
)我遇到了同样的问题,但经过所有步骤后它对我有用。
解决方法是打开项目结构窗口。[按命令+;在 mac ox s. 我不知道其他平台的快捷键是什么。您应该可以在“文件”菜单下找到它。]并单击“项目设置”部分下的“模块”,然后您的项目就会显示出来,最后将生成的R.java标记为Sources。
我正在使用 Intellij IDEA 14.0 CE。生成的 R.java 位于 build/generated/source/r/debug/com/example/xxx
第一次找真的不容易。
在 IntelliJ 14 上
检查是否排除了生成的源。通常在 Project Structure -> [module] -> Paths -> Compiler output: "Inherit compile output path"
首先检查是否有import android.R;在您的班级顶部,当在 android studio 中启用自动导入时会发生这种情况。
在那之后注释您使用 R 变量的所有代码行(您可以注释整个类或...)然后运行应用程序,它会重新生成 R 变量,您可以取消注释您的代码。
如果没有错误,您应该检查所有文件并再次在以下位置重建您的项目:
或在:
检查use external build
并在重建项目后。
我的问题是我在可绘制文件夹中有文件'default.jpg',由于某种原因,每个资源都没有得到解决。删除该文件后修复!
在您尝试清理和重建但未成功后,请检查您的res
文件夹是否有损坏的文件。
就我而言,损坏的.png
文件导致了所有麻烦。
我有同样的问题,并通过删除一个额外的库来解决它。
要尝试此解决方案,请转到文件 > 项目结构(在 Mac 上,您可以使用命令“Apple ;”)
然后在左侧选项卡上选择应用程序。转到依赖项选项卡并删除额外的库。
这些答案都没有帮助我!
我的问题不是问题!该程序可以完全编译并在设备上运行,但 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 {
}
我解决了设置 JAVA_HOME、CLASSPATH 的问题。
人们在设置 Java_path 时有时会跳过 JAVA_HOME 和 CLASSPATH。
所以尝试检查环境变量。
类路径-> .;
JAVA_HOME -> C:\Program Files\Java\jdk(version) 或 Java 安装位置
然后检查可能有错误的xml文件(不要命名众所周知的东西,如按钮、文本等)
在我的情况下(Linux,Android Studio 0.8.6),以下帮助:
文件 > 项目结构 > 模块 > 选择主模块 > 选择它的方面 > 生成的源
更改“生成文件的目录:”的值
从
MY_PATH/.idea/gen
至
MY_PATH/gen
如果没有编译该代码,apk 将成功构建并运行
但 Android Studio 编辑器在所有子包类中将 mypackage.R.anything 突出显示为“无法解析”
检查 build.gradle 中的构建工具版本(对于模块应用程序)。然后转到 android sdk manager 查看是否安装了版本,如果没有安装,或者将构建工具版本更改为如下所示安装的版本。
android {
buildToolsVersion "22.0.1"
..
..
..
}
上面https://stackoverflow.com/users/1373278/hoss发布的解决方案 对我有用。我在这里复制它,因为我还不能评论 hoss 的帖子:
import android.R;
从有问题的活动文件中删除。
我的设置:
安卓工作室 1.2.2
将项目从一台 Mac 导出到 Git(一切正常)。然后我从 Git 将项目导入到另一台 Mac 上。那是它停止解析资源文件的时候。
我在这个线程上尝试了一切:
import android.R;
除了从我的活动 java 文件中删除之外,没有任何效果。
为避免将来出现此问题,请将.idea
文件夹添加到您的.gitignore
文件中。在 Android Studio 中有一个不错的 git 插件,用于 gitignore。安装此插件并右键单击.idea > Add to .gitignore
只需清理项目,然后将您的项目与 gradle 文件同步。
我在 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
目录。
从 Eclipse 导入项目时出现此错误。原因是某些 xml 文件有错误。检查所有 XML 文件是否有错误。包括androidmanifest.xml,以及values、themes、styles、layouts文件夹等。xml中的警告是可以的,但是错误会产生这个错误。
之后,做一个清洁项目并重建。
就我而言,我发现引用了“android.R.layout.account_list”而不是“R.layout.account_list”。只需删除“android”。可以解决问题。希望这对您有所帮助,因为有时您可能会在过于专注时忽略。
对我来说,在 Android Studio 1.5.1 中,解决方案是重新创建整个项目,名称略有不同。
我认为它没有处理应用程序名称“Kommentator_AS”,因为该包的几个地方被命名为“Kommentator”。
我有同样的问题。以下三个文件中的两个文件中的包名错误。我手动更新了包名,一切又开始工作了。
gen/com/example/app/BuildConfig.java
gen/com/example/app/Manifest.java
gen/com/example/app/R.java
我不确定是什么导致它们发生变化,因为我以前从未修改过这些文件。
就我而言:
我不得不复制参考R 文件;即右键单击 gen/<package>/R 并复制参考。然后将其粘贴到代码中无法解析的 R 上。
这为我解决了(在这里尝试了所有其他内容之后)。仍然不确定为什么说实话。