Настройки IntelliJ 12 + ActionBarSherlock: не удалось найти класс 'android.support.v4.app.FragmentActivity'
Существует множество вопросов и ответов о настройках IntelliJ 12 + ABS(ActionBarSherlock).
аналогичный случай с этим вопросом, но показывает разные ошибки.
Общая компиляция и запуск в порядке, но только активность с использованием вкладки навигации (SherlockActivity implements ActionBar.TabListener
) выдает следующую ошибку и вылет. Обратите внимание, что я могу использовать общие SherlockActivity
показывает хорошо.
"Не удалось найти класс 'android.support.v4.app.FragmentActivity', на который ссылается метод com.actionbarsherlock.internal.app.ActionBarWrapper$TabWrapper.onTabReselected" во всех переопределенных методах (onTabUnselected
, onTabSelected
, onTabReselected
).
Похоже, что на android-support-v4 нет ссылки, но его трудно найти с помощью check/uncheck trial-and-errors.
Мои настройки проекта IntelliJ указаны ниже.
1. Библиотека - это имя папки библиотеки ABS.
2. Мои настройки проекта.
Я установил оба android-support-v4 для предоставления. Что я могу сделать больше?
В некоторых ответах говорилось об удалении android-support-v4 из моего собственного проекта, но при этом отображаются ошибки ссылок на import android.support.v4.app.FragmentTransaction
так как implements ActionBar.TabListener
требует этого.
4 ответа
Эта конфигурация неверна, область действия android-support-v4
библиотека должна быть установлена на Compile, поскольку она отсутствует на Android и должна быть включена в ваше приложение.
Второй экземпляр android-support-v4
необходимо удалить из зависимостей приложения, оно будет доступно вашему приложению через модуль библиотеки, для которого включена опция экспорта android-support-v4
,
У меня также была эта проблема в Android Studio (версия 1.1.0), когда я хотел проверить / протестировать приложение "EffectiveNavigation" из примеров Google (ссылка: http://developer.android.com/training/implementing-navigation/lateral.html)
Мне нужно было добавить этот фрагмент кода по пути ".\EffectivNavigation\app\builde.gradle":
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:20.0.0'
}
Таким образом, весь build.gradle выглядит так:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.android.effectivenavigation"
minSdkVersion 14
targetSdkVersion 14
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:20.0.0'
}
Вы также можете использовать
compile 'com.android.support:support-v4:20.+'
вместо
compile 'com.android.support:support-v4:20.0.0'
Может быть, этот ответ более полезен для вас, чем другие ответы.
Просто для записи - это решило проблему для меня: (через /questions/36003780/ne-udaetsya-razreshit-appcompatactivity/36003792#36003792)
Build
> Rebuild Project
,
Я добавил adt/sdk/extras/android/support/v4/android-support-v4.jar (adt должен указывать на android sdk) в путь к классам Android SDK в Idea.