Не удается получить доступ к классу ActivityCompatApi23
У меня проблемы с рабочим файлом. Я добавил это 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.
- Попробовал очистить и восстановить.
Перешел на путь
projectName\.idea\libraries
и удалил файлы, которые содержали версию библиотеки поддержки, отличную от текущих версий25.3.1
3. Чтобы устранить ошибку, я удалил эту строку из файла Gradle уровня приложения,androidTestCompile ('com.android.support.test.espresso: espresso-core: 2.2.2', {исключить группу: 'com.android.support', модуль: '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'
}
4 ответа
Вы объявили compileSdkVersion
равен 25, тогда как 0.3.1
версия макета flexbox использует версию библиотеки поддержки 26.0.0
- это проблема, compileSdkVersion
должна соответствовать основной версии библиотеки поддержки.
Либо обновите ваш проект до 26, либо используйте версию макета flexbox, основанную на sdk 25, которая выглядит как v0.2.7:
compile 'com.google.android:flexbox:0.2.7'
Как проблема, с которой я встречаюсь。
Когда я использую Android Room, как это:
compileSdkVersion 25 compile "android.arch.persistence.room:runtime:1.0.0"
Я получаю ту же ошибку.
Потому что compileSdkVersion должен соответствовать основной версии библиотеки поддержки.
Более подробно вы можете увидеть это: Ошибка в поддержке библиотеки после сохранения номера
Пространство зависит от 26.1 библиотеки поддержки, поэтому, вероятно, она сломана, потому что SupportLibrary не обещает взаимодействия между версиями.
Кроме того, вы можете решить эту проблему, используйте это
compile ("android.arch.persistence.room:runtime:1.0.0") {
exclude group: 'com.android.support'
}
Использование
compile 'com.android.support:appcompat-v7:26.1.0'
Я только что изменил линию
compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
в compile 'com.android.support:appcompat-v7:26.+'
и это сработало для меня