Настройки 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.

Другие вопросы по тегам