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

时间:2019-04-03 08:48:53

标签: android android-studio intellij-idea

迁移到Androidx后,我的项目开始显示红色下划线错误,提示无法解析R。

  1. 我已经尝试过搜索类似的问题,但仍然出错 保持
  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);
    }
}```

2 个答案:

答案 0 :(得分:3)

有关详细信息,请参见https://twitter.com/tasomaniac/status/1103020923874131968

Gradle Android插件3.3+不再生成R源文件。您要么需要更新到支持资源的新二进制格式的IDE,要么将插件降级到build.gradle中的旧版本。

答案 1 :(得分: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;