IntelliJ 12 + ActionBarSherlock设置:找不到类'android.support.v4.app.FragmentActivity'

时间:2013-05-06 16:47:22

标签: android intellij-idea actionbarsherlock

关于IntelliJ 12 + ABS(ActionBarSherlock)设置有很多Q& A。

this question类似但显示不同的错误。

总体编译和运行都没问题,但只有使用选项卡导航的活动(SherlockActivity implements ActionBar.TabListener)会出现以下错误并导致崩溃。 请注意,我可以很好地使用常规SherlockActivity节目。

“无法找到类'android.support.v4.app.FragmentActivity',从方法com.actionbarsherlock.internal.app.ActionBarWrapper $ TabWrapper.onTabReselected”引用每个重写方法({ {1}},onTabUnselectedonTabSelected)。

似乎android-support-v4没有被成功引用,但很难找到check / uncheck试错法。

我的IntelliJ项目设置如下。

1。 Library是ABS库文件夹的名称。 library settings

2。我的项目设置。 my settings

我将android-support-v4设置为提供。 我还能做些什么?

有些答案说删除android-support-v4 到我自己的项目,但它显示了onTabReselected上的参考错误,因为import android.support.v4.app.FragmentTransaction需要它。

4 个答案:

答案 0 :(得分:14)

此配置不正确,android-support-v4库的范围必须设置为编译,因为它不在Android上,并且必须包含在您的应用中。

必须从应用程序依赖项中删除android-support-v4的第二个副本,它将通过为android-support-v4启用导出选项的库模块提供给您的应用程序。< / p>

答案 1 :(得分:2)

当我想从google示例(链接:http://developer.android.com/training/implementing-navigation/lateral.html)检查/测试&#34; EffectiveNavigation&#34; -App时,我在Android Studio(版本1.1.0)中也遇到了这个问题

我必须做的是在路径中添加此代码段&#34;。\ EffectivNavigation \ app \ builde.gradle&#34;:

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'

也许这个答案比其他答案对你更有帮助。

答案 2 :(得分:0)

我将adt / sdk / extras / android / support / v4 / android-support-v4.jar(adt应该指向android sdk)添加到Idea中Android SDK的类路径中。

答案 3 :(得分:0)

仅供记录 - 这解决了我的问题:(通过https://stackoverflow.com/a/35248120/2409397

Build&gt; Rebuild Project