In every instance in all of my classes where I reference R.id.something, the R is in red and it says "cannot resolve symbol R". Also every time there is R.layout.something it is underlined in red and says "cannot resolve method setContentView(?)". The project always builds fine. It is annoying to see this all the time. I have read many other questions on here about something similar but most involved importing projects from Eclipse. I am using what I believe to be the most recent version of Android Studio and the project was created with Android Studio and worked without any "cannot resolve R" problems. I would like to know what causes this if anyone knows.
当前回答
这些在Ubuntu 12.04上都不适用。我必须做到以下几点:
sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1
在那之后,我遵循了这个线程中的其他一些建议,做了Build ->清洁项目,一切都很好。
其他回答
我正在做一个多模块的项目。这发生在我把所有ui代码移到一个新模块时。
下面是我解决这个问题的方法: 我发现当我创建新的ui模块时,在/res/values中,它创建了一个新的strings.xml,其中没有任何有用的东西。 我删除了strings.xml文件,重新构建项目,它工作了。
修复“无法解析符号r”的错误。 试试这些解决方案。
Build ->清洁项目。 Build -> Build Project。 Build ->制作项目。 工具栏左起第三个图标->同步项目与gradle文件。 File ->使缓存失效并重新启动。 确保您在应用级gradle文件中使用兼容的gradle版本。
例如:“classpath 'com.android.tools.build:gradle:X.X.X'”。
我希望这些解决方案能帮助到你。
感谢阅读。
看看Gradle控制台。在我的例子中,我包含了一个文件扩展名错误的资源。
AAPT: libpng error: Not a PNG file
:app:mergeDebugResources FAILED
FAILURE: Build failed with an exception.
在重命名文件和同步项目与Gradle文件之后,一切都很好。
同样的问题。当我在我的可绘制文件夹中添加了一些图像并试图访问它们时开始。此外,添加的图像有大写字母的扩展名。这似乎使构建崩溃,因为即使我重命名它们,消息也是一样的,R是不可访问的。我所做的是,在.iml文件中,我寻找了excludeFolder并删除了它们(如下图所示):
<excludeFolder url="file://$MODULE_DIR$/build/apk" />
<excludeFolder url="file://$MODULE_DIR$/build/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/libs" />
<excludeFolder url="file://$MODULE_DIR$/build/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/res" />
<excludeFolder url="file://$MODULE_DIR$/build/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
在那之后,我重建了项目,R神奇地重新出现了。
我认为如果你把活动文件放到另一个文件夹而不是默认文件夹。你需要导入com.example.yourproject.R(这是你的项目R文件而不是Android。例如,在MainActivity文件中插入这一行:
import com.example.yourproject.R;
推荐文章
- 在Android中,对话框被取消或被取消有什么区别?
- 在ScrollView触摸处理中的HorizontalScrollView
- 何时在Android中使用RxJava,何时使用Android架构组件中的LiveData ?
- 如何在Android项目中使用ThreeTenABP
- 指定的子节点已经有一个父节点。你必须先在子对象的父对象上调用removeView() (Android)
- 我的Android设备没有出现在adb设备列表中
- 在没有安装apk的情况下获取Android .apk文件的VersionName或VersionCode
- Fragment onResume() & onPause()不会在backstack上被调用
- 如何设置基线对齐为假提高性能在线性布局?
- 如何获得当前屏幕方向?
- 如何在Android中渲染PDF文件
- 我如何解决错误“minCompileSdk(31)指定在一个依赖的AAR元数据”在本机Java或Kotlin?
- 如何改变TextInputLayout的浮动标签颜色
- Android工作室如何运行gradle同步手动?
- 如何以编程方式在我的EditText上设置焦点(并显示键盘)