迁移到Androidx后无法解析符号R

3

迁移到Androidx后,我的项目开始显示一个红色下划线错误,其中写着无法解析R。

  1. 我已经尝试在Google上搜索类似的问题,但错误仍然存在。
  2. 我已经检查了我的清单文件和Res文件夹是否有错误。
  3. 我已经尝试过禁用验证/重新启动项目。
  4. 我已经尝试过清理并重新构建项目。
  5. 我已经尝试过与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);
    }
}```

我甚至创建了一个新项目,但问题仍然存在。 - Zionnite
我刚刚导入了项目,但是错误仍然存在。 - Zionnite
1
你的一个或多个布局文件仍然在xml中引用了旧的AppCompat依赖项。这就是为什么R文件生成失败的原因。 - farhanjk
@Zionnite,你用的是哪个IDE版本?尝试使用最新的IntelliJ IDEA和AS的RC版本。 - CrazyCoder
1
寻找明显的变化,例如android.support.design.widget.BottomNavigationView已经改为com.google.android.material.bottomnavigation.BottomNavigationView。在你的布局中查找任何完全限定名称。 - farhanjk
显示剩余8条评论
2个回答

4

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;

我已经完全按照这样做了,但错误仍然存在。 - Zionnite
我尝试了 import android.R,它消除了错误,但是它没有打开布局文件夹。 - Zionnite

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接