迁移到 Androidx 后无法解析符号 R
Posted
技术标签:
【中文标题】迁移到 Androidx 后无法解析符号 R【英文标题】:Could not Resolve Symbol R After Migrating to Androidx 【发布时间】:2019-08-24 17:31:26 【问题描述】:迁移到 androidx 后,我的项目开始显示红色下划线错误,表示无法解析 R。
-
我已经尝试用谷歌搜索一些类似的问题,但仍然出现错误
留下来,
我检查了我的清单,我的 Res 文件夹是否有错误
我没有验证/重启项目
我有清理和重建项目
我已与 android 项目同步 gradle
在我完成这些之后,错误仍然存在
dependencies
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
// implementation 'com.google.android.material:material:1.0.0-rc01'
implementation 'com.google.android.material:material:1.1.0-alpha05'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.appcompat:appcompat:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.github.maxyou:CalendarPicker:v1.1.2'
// Ramotion
implementation 'com.ramotion.paperonboarding:paper-onboarding:1.1.3'
implementation 'com.ramotion.foldingcell:folding-cell:1.2.3'
implementation 'com.ramotion.garlandview:garland-view:0.3.3'
MyApplication.java
package xyz.esusku.nearbyworker;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
```
【问题讨论】:
我什至创建了一个新项目,但问题仍然存在 我刚刚导入项目,但仍然存在错误 您的一个(或多个)布局仍然引用 xml 中较旧的 AppCompat 依赖项。这就是 R 文件生成失败的原因。 @Zionnite 您使用什么 IDE 版本?试试最新的 IntelliJ IDEA 和 RC 的 AS。 寻找明显的东西,例如android.support.design.widget.BottomNavigationView
已更改为 com.google.android.material.bottomnavigation.BottomNavigationView
。布局中的任何完全限定名称。
【参考方案1】:
希望您在尝试迁移现有项目时已在 gradle.properties 文件中添加这些行:。
android.useAndroidX=true
android.enableJetifier=true
还有一件事尝试删除重复的导入-
import android.support.v7.app.AppCompatActivity; //remove this line
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
【讨论】:
我确实做到了,但错误仍然存在 我试过import android.R
它通过消除错误来工作,但它没有打开布局文件夹【参考方案2】:
详情请见https://twitter.com/tasomaniac/status/1103020923874131968。
Gradle Android Plugin 3.3+ 不再生成 R 源文件。您要么需要更新到支持资源的新二进制格式的 IDE,要么将插件降级到 build.gradle
中的旧版本。
【讨论】:
以上是关于迁移到 Androidx 后无法解析符号 R的主要内容,如果未能解决你的问题,请参考以下文章
无法在 androidx 中解析符号“BottomNavigationItemView”
迁移到 AndroidX 时无法解析变量“$animal.sniffer.version”
在迁移到 viewpager2 androidx 时发现此错误“无法解析方法 'super(androidx.fragment.app.FragmentManager)'”
迁移到AndroidX后:无法实例化类:androidx.appcompat.widget.ShareActionProvider。