Android &引用;无法解析符号R";在安卓工作室
在我引用Android &引用;无法解析符号R";在安卓工作室,android,android-studio,r.java-file,Android,Android Studio,R.java File,在我引用R.id.something的所有类中的每个实例中,R都是红色的,它表示“无法解析符号R”。同样,每次出现R.layout.something时,它都会用红色下划线,并表示“无法解析方法setContentView(?)”。这个项目总是建设得很好。老是看到这件事真烦人。我在这里读到了许多其他类似的问题,但大多数都涉及从Eclipse导入项目。我正在使用我认为是最新版本的Android Studio,该项目是用Android Studio创建的,没有任何“无法解决R”问题。如果有人知道的话
R.id.something
的所有类中的每个实例中,R
都是红色的,它表示“无法解析符号R”。同样,每次出现R.layout.something
时,它都会用红色下划线,并表示“无法解析方法setContentView(?)”。这个项目总是建设得很好。老是看到这件事真烦人。我在这里读到了许多其他类似的问题,但大多数都涉及从Eclipse导入项目。我正在使用我认为是最新版本的Android Studio,该项目是用Android Studio创建的,没有任何“无法解决R”问题。如果有人知道的话,我想知道这是什么原因。您最近更新了SDK工具吗?启动android SDK管理器,确保您拥有最新的SDK工具,该工具现在与平台工具分离。当我第一次更新SDK管理器时,我也遇到了同样的问题,直到我关闭并重新打开SDK管理器,SDK构建工具包才显示出来进行安装/更新。我也遇到了同样的问题,当我创建一个新项目时也出现了同样的问题
我所做的是:
- 检查SDK更新
- 然后安卓工作室更新
- 然后重新打开项目
- 打开androidmanifest.xml文件
- 删除android:label和save中“\u>”之间的空格李>
这对我很有用 这个符号似乎很好用
android:id="@+id/viewID"
Android Studio的设计面板似乎不太好用。我也有这个问题。一个简单的“gradlew clean”和“gradlew build”就成功了
单击Build->cleanproject,这将执行一次渐变清理我已经用过了
在最新版本的Android Studio中,至少对我来说,以下功能非常有效: “工具”->“Android”->“将项目与Gradle文件同步” 在最新的Android Studio 3.1.3(2018年7月)中,“与Gradle文件同步项目”位于主菜单栏中
这个问题似乎有很多原因。最近,我添加了一个名为NewActivity的活动来测试。这创建了一个名为
res/menu/new.xml的文件,gradle不喜欢这个名称,因为new是一个保留字
gradlew clean
或
“工具”->“Android”->“与Gradle文件同步项目”
这些都是值得尝试的好方法,但是在运行这些命令之前,您可能需要解决一些其他问题。我认为如果您将活动文件放在默认文件夹之外的其他文件夹中。您需要将com.example.yourproject.R
(这是您的项目R
文件,而不是Android.R
文件)导入到使用R
的所有活动中。例如,在MainActivity
文件中插入以下行:
import com.example.yourproject.R;
idea.max.intellisense.filesize=2500
同样的问题。当我在我的drawable文件夹中添加一些图像并试图访问它们时开始。此外,添加的图像的分机带有大写字母。这似乎使构建崩溃了,因为即使我重命名了它们,消息也是一样的,并且R无法访问。我所做的是,在.iml文件中,我查找了excludeFolder并将其删除(如下面所示):
之后,我重建了项目,R神奇地重新出现。R.java文件包含xml和java页面之间的链接。只有当您的某些资源文件出现问题时,才会出现“R无法解决”。因此,最好且有效的方法是删除res文件中最后完成的xml或drawable。然后再根据android编码规范从那里开始。这是唯一的办法。有效和正确的方法
还可以使用Git正确跟踪代码 我不得不在android studio中导入我的R
软件包。例如:导入com.example..R
只需清理项目并将项目与Gradle文件同步即可
这个问题将得到解决
检查xml文件
清洁项目
就是这样
例如,我的strings.xml
中有一个条目:
<string name="A">Some text</string>
当我在处理这个项目的时候,我把它删掉了
<string name="A">Some text</string>
一些文本
因此,activity\u main.xml
变得无效。结果:无法解析R
因此,请检查您的*.xml文件并清理项目。我有一个类似的问题,下面是我所做的:
清理项目并与Gradle同步项目
检查我的sdk中的buildTools版本
从构建梯度(模块)将minSdkVersion从8更改为9
defaultConfig {
applicationId "PackageName"
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
但这一切都没有帮助
最后我找到了答案(这在我的案例中起了作用)
更改build.gradle(模块:应用程序)
或
选择文件|项目结构将构建工具版本更改为21.1.1
这是一个非常古老的问题,但它仍然经常发生,这里没有真正全面的答案
我遇到这个问题的次数比我想承认的要多。它可能是由各种各样的问题引起的,这些问题大多都与您的项目结构不符合预期有关。以下是我遇到的所有问题的列表:
从Eclipse导入到Android Studio并不总是顺利进行,尤其是对于旧版本的Android Studio。确保使用了正确的目录树。对于中等成熟的应用程序,它应该是这样的:
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
在IDE中可能不是这样。文件树上方有一个下拉列表,以不同的方式显示您的文件,在我的系统中,它默认为一个名为Android的下拉列表,将您的文件分为不同的类型。从一个名为Project的程序中修复此类问题更容易,从操作系统的文件系统中直接修复此类问题更容易,因为Android Studio只会折叠
android {
compileSdkVersion 21
buildToolsVersion '21.0.1'
......
....
}
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
android:id="username"
android:id="@id/username"
idea.max.intellisense.filesize=2500
idea.max.intellisense.filesize=5000
1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches
//imp step
5) Check your xml files properly.`
import rootpackage.R;
classpath 'com.android.tools.build:gradle:3.2.1'
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
...
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
...
}