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.
当前回答
在我做“建立->清洁项目”和“同步项目与gradle”。它们都不是解。我从3.3.0 => 3.2.1(恢复为项目初始状态)下构建gradle版本,它解决了我的问题。
其他回答
在将gradle插件从1.3.1版本升级到
classpath group: 'com.android.tools.build', name: 'gradle', version: '2.2.1'
它迫使我改变了所有的引用,比如
import [applicationId].R;
to
import [package].R;
在我的库项目中,appcontext.getPackageName();停止正常工作。我用它来获得正确的应用程序资源通过反射,但升级gradle插件后,它开始返回特定口味的applicationId,而不是包…你可以在这里阅读更多相关内容。
注意:这可能只在您的项目非常大时才有用
TL;DR -生成的R文件超过2.56 MB, Android Studio没有索引它,你可以在这里遵循解决方案:
文件大小超过配置限制(2560000),代码洞察功能不可用
也面临着类似的问题。但这里的答案似乎都不奏效。
R文件大于2.56 MB,在打开生成的R文件时,我收到一条消息说“代码洞察可能不可用”
改变默认的想法。属性,以允许更大的文件,这是有效的。
很抱歉在移动设备上设置了格式。
我知道这个问题可能会导致很多事情。在我的例子中,我在其中一个活动*.xml文件中有一些textView。我在编辑器中放入文本(稍后通过代码更改):“NAME: <这里将是名称>”。显然,“<”和“>”字符破坏了在我的项目中从每个地方导入R。我把它换了,它开始工作了。我只是忘记了不能在*.xml文件中使用这些字符,因为它们构建了它的结构。记住这一点是值得的。
你应该做两件事,首先清理项目(在build菜单中)-它会删除build目录,这可能是罪魁祸首:
接下来,同步项目与Gradle文件(在文件下):
这是在Windows 10上的Android Studio 3.6.1中项目的位置。
如果所有这些都失败了,无效缓存和重新启动(在文件下)通常可以做到这一点。在我看来,这将关闭整个程序并占用大量时间。
澄清一下,我是在windows 10上运行这个程序,但它应该也能在MacOS和Linux上运行。
修复“无法解析符号r”的错误。 试试这些解决方案。
Build ->清洁项目。 Build -> Build Project。 Build ->制作项目。 工具栏左起第三个图标->同步项目与gradle文件。 File ->使缓存失效并重新启动。 确保您在应用级gradle文件中使用兼容的gradle版本。
例如:“classpath 'com.android.tools.build:gradle:X.X.X'”。
我希望这些解决方案能帮助到你。
感谢阅读。
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件