Как исправить ошибку пакета android.support.v7 не существует? - PullRequest
0 голосов
/ 16 июня 2019

Я уже несколько часов пытаюсь исправить сообщение об ошибке "пакет android.support.v7 не существует"

Здесь встречались все темы об этом, но ни одна из них мне не помогла

Я пытался добавить это, используя Файл> Структура проекта. Он показал мне, что build.gradle синхронизируется с проектом. После этого я попытался построить проект, но снова получил то же сообщение об ошибке. Также пытался почистить проект и удалить кеш. Пока я пишу, самая последняя версия appcampat - v7: 26.0.0-alpha1

Также пытался вручную добавить implementation 'com.android.support:appcompat-v7:26.0.0-alpha1' к build.gradle, но это не помогло.

Это мой MainActivity.java

package example.com;
import android.support.v7.ActionBarActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity {
    private WebView myWebView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myWebView = (WebView)findViewById(R.id.webView);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        myWebView.loadUrl("https://example.com");
        myWebView.setWebViewClient(new WebViewClient());
    }

    @Override
    public void onBackPressed() {
        if(myWebView.canGoBack()) {
            myWebView.goBack();
        } else {
            super.onBackPressed();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

файл build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.0"
    defaultConfig {
        applicationId "example.com"
        minSdkVersion 14
        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.13-beta-3'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.android.support:appcompat-v7:26.0.0-alpha1'
}

1 Ответ

0 голосов
/ 16 июня 2019

Надеюсь, это вам поможет.

Проблемы, на которые следует обратить внимание: -

1) Рассмотрите возможность использования AppCompatActivity, а не ActionBarActivity.

2) Обновите все зависимости до последней версии (Как уже упоминалось выше, CommonsWare использует новейшую версию для appcompat: 28.0.0)

3) Посмотрите на

i) compileSdkVersion => 29

ii) targetSdkVersion =>29

iii) buildtoolsVersion => 29.0.0

Это означает, что вы нацеливаетесь на новейшие устройства Android (API уровень 29), но вы все еще используете зависимости от Api уровня 26. Поэтому обновите библиотеки изависимости от последних.

4) Если проблема не устранена Пожалуйста, уменьшите уровень API с 29 до 28 и проверьте.

Надеюсь, он работает для вас.

...