web-dev-qa-db-ja.com

ActivityCompatApi23クラスにアクセスできません

私のgradleファイルで実行時の問題があります。このcompile 'com.google.Android:flexbox:0.3.1'をコンパイル時の依存関係としてGradleファイルに追加しました。エラーが発生したため、プロジェクトレベルのGradleファイルに追加しました。

maven {
            url "https://maven.google.com"
        }

上記を追加した後、これは最終的にこのように見えました

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

上記をアプリレベルのGradleファイルに追加した後、アプリを実行しようとすると別のエラーが発生します。だから私はSOからのいくつかの回答に従って次のことをしました。

  1. クリーンとリビルドを試みた。
  2. パスprojectName\.idea\librariesに移動し、現在のバージョン以外のサポートライブラリバージョン25.3.1を含むファイルを削除しました。3.エラーを解決するために、アプリレベルのGradleファイルからこの行をさらに削除しました。

    androidTestCompile( 'com.Android.support.test.espresso:espresso-core:2.2.2'、{exclude group: 'com.Android.support'、module: 'support-annotations'})

これで、最終的なGradleファイルは次のようになり、エラーが発生します。

エラー:

Error:(28, 8) error: cannot access ActivityCompatApi23
class file for Android.support.v4.app.ActivityCompatApi23 not found

私のGradleファイル

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.example.test"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    compile 'com.Android.support:appcompat-v7:25.3.1'
    compile 'com.Android.support:design:25.3.1'
    compile 'com.Android.support:cardview-v7:25.3.1'
    compile 'com.Android.support:support-v4:25.3.1'
    compile 'com.google.Android:flexbox:0.3.1'
    compile 'uk.co.chrisjenx:calligraphy:2.3.0'
    testCompile 'junit:junit:4.12'
}
8
GeekDroid

compileSdkVersionを25に等しいと宣言しましたが、0.3.1バージョンflexboxレイアウト 使用 libsバージョンをサポート26.0.0-これは問題です。compileSdkVersionはサポートライブラリのメジャーバージョンと一致する必要があります。

プロジェクトを26にアップグレードするか、flexboxレイアウトのバージョンを使用して、sdk 25に依存します。これはv0.2.7のようです。

compile 'com.google.Android:flexbox:0.2.7'
4
azizbekian

私が遭遇する問題のように。

私が使用する場合Android Room like this:

compileSdkVersion 25コンパイル "Android.Arch.persistence.room:runtime:1.0.0"

同じエラーが発生します。

CompileSdkVersionはサポートライブラリのメジャーバージョンと一致する必要があるためです。

詳細はこちらをご覧ください: ルームの永続化後のサポートライブラリのエラー

Roomは26.1のサポートライブラリに依存しています。これは、SupportLibraryがバージョン間の相互運用性を保証していないため、おそらく壊れているためです。

また、これを使用して問題を修正できます

compile ("Android.Arch.persistence.room:runtime:1.0.0") {
                exclude group: 'com.Android.support'
}
5
Tony

使用する

compile 'com.Android.support:appcompat-v7:26.1.0'
1
user1075359

私は行を変更しました

compile 'com.Android.support:appcompat-v7:26.0.0-alpha1'

compile 'com.Android.support:appcompat-v7:26.+'

そしてそれは私のために働いた

0
Surhan Zahid