无法解析符号,android 工作室

Cannot resolve symbol, android studio

这是我第一次使用 android studio,但出现错误

"Cannot resolve symbol AppCompatActivity", and other symbol errors.

我该如何解决?我试过向 gradle 添加内容,但没有任何效果。也尝试过 "Invalidate caches/restart" 但它也没有用。

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.buttonCall);

        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
                Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse("tel:1566"));

                if (ActivityCompat.checkSelfPermission(MainActivity.this,
                        Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                    return;
                }
                startActivity(callIntent);
            }
        });


    }
}

这是 gradle 文件中的依赖项

dependencies {
    compile 'com.android.support:appcompat-v7'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

从导入部分删除这两行并尝试

import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;

您不能同时支持 lib 包和 AndroidX 包。 因此,如果您已将项目迁移到 android x,您将只需要使用该库。

因为您正在使用 AndroidX 依赖项

androidx.appcompat:appcompat:1.0.2

然后在 MainActivity 中导入

import android.support.v7.app.AppCompatActivity;

删除它并导入 androidx AppCompatActivity 然后错误解决。

额外

此外,请将 com.google.android.material:material:1.0.0 添加到 build.gradle

您正在使用 androidx 然后您可以 删除build.gradle

中的这一行
compile 'com.android.support:appcompat-v7'

更改 class 中的导入:

//Remove these
//import android.support.v7.app.AppCompatActivity;
//import android.support.v4.app.ActivityCompat;

//Add this
import androidx.appcompat.app.AppCompatActivity

最近我遇到了类似的问题——“无法解析符号AppCompatActivity”,虽然我正在使用

import androidx.appcompat.app.AppCompatActivity

当然我早就迁移到androidx了。当我尝试在真实设备上调试我的应用程序时发生了这种情况 运行 Android 10. 尝试了很多事情:删除 .gradle 和 .idea 文件夹,使缓存无效等

唯一有帮助的是从 4.​​0.1 转移到 Android Studio 4.2 Canary 12。虽然话题很老,但还是想支持一下最近遇到这个错误的人。