问题
i am just starting with android development using androidStudio i am following udacity tutorial where they asked us to copy paste some code and run it i am unable to run the cod after pasting i think the major problem is while importing
import android.support.v7.app.AppCompatActivity;
i have checked internet for solution to this problem including stackoverflow
but it seems that it is different for each case
i have tried to import
import androidx.appcompat.app.AppcompatActivity;
instead of
import android.support.v7.app.AppCompatActivity;
but it didn't hepled
i am using androidStudio version 3.4
Main activity:
package com.example.android.justjava;
/**
* IMPORTANT: Make sure you are using the correct package name.
* This example uses the package name:
* package com.example.android.justjava
* If you get an error when copying this code into Android studio, update it to match teh package name found
* in the project's AndroidManifest.xml file.
**/
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
/**
* This app displays an order form to order coffee.
*/
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* This method is called when the order button is clicked.
*/
public void submitOrder(View view) {
display(1);
}
/**
* This method displays the given quantity value on the screen.
*/
private void display(int number) {
TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view);
quantityTextView.setText("" + number);
}
}
module.App(build gradle):
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.1"
defaultConfig {
applicationId "com.example.android.justjava"
minSdkVersion 15
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
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'
}
error: cannot find symbol class AppcompatActivity
error: cannot find symbol class AppCompatActivity
error: method does not override or implement a method from a supertype
error: cannot find symbol variable super
error: cannot find symbol method setContentView(int)
error: cannot find symbol method findViewById(int)
回答1:
You are using androidx libraries.
implementation 'androidx.appcompat:appcompat:1.0.2'
Then you can't use the import of support libraries classes.
It is the right class:
import androidx.appcompat.app.AppCompatActivity;
回答2:
notice lack of uppercase in your AppCompat import:
import 'androidx.appcompat.app.AppcompatActivity'
instead of AppCompatActivity
Java/Android is case sensitive. android.support.v7
is kind of deprecated, AndroidX is replacing it
回答3:
Things have changed since androidx library somewhere in june 2019... To solve this simple problem, make sure you do the following;
go to your gradle.properties file and enable androidx as you can see in my example picture below step1
Now go to the top menu of your android studio, click on Refactor and click on "Migrate to androidx"
Android studio automatically will do all the importation syntax corrections of androidx in your gradle
来源:https://stackoverflow.com/questions/57546020/package-android-support-v7-app-does-not-exist-error-in-androidstudio