扩展ActionBarActivity时出现NoClassDefFoundError

时间:2013-11-01 14:58:04

标签: android android-actionbar android-studio android-appcompat android-actionbaractivity

我检查了herehere,但都没有解决我的问题。在通过Gradle成功添加v7 appcompat后,我正在扩展ActionBarActivity

问题在于,当我的活动扩展Activity时,它运行正常。但是,当我延长 ActionBarActivity时,它会与

崩溃
java.lang.NoClassDefFoundError: com.bignerdranch.android.criminalintent.TestActivity

以下是我在清单中的活动:

<activity
    android:name=".TestActivity"
    android:label="@string/app_name"
    android:theme="@style/Theme.AppCompat.Light">
</activity>

这是我的build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.android.support:appcompat-v7:18.0.+'
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 18
    }
}

2 个答案:

答案 0 :(得分:0)

好吧,所以我遇到了同样的问题,我希望至少我能为将来发现这个问题的人添加一些解决方案。看起来Android Studio希望您的项目位于父目录中,因此您的文件结构类似于。

parent dir
    application dir
       app
    settings.gradle

如果您从Eclipse导入项目,那么您可能不会拥有此项目结构。我创建了相同的包装器文件结构,然后使我的settings.gradle具有行include :application-dir。它对我有用。

我希望将来可以帮助某人。

答案 1 :(得分:0)

我也遇到了同样的问题。我从Git下载了项目,同一个项目在一台机器上工作正常,但是在其他机器上工作不正常。我正在使用ActionBarActivity(或者你可以使用AppCompatActivity)并使用Library项目android -support-v7-appcompat.I在运行时遇到同样的问题和异常/错误。经过多次麻烦我找到了解决方案。

你需要检查你的android-sdk \ build-tools目录并检查它是否有最新版本工具版本的文件夹例22.0.1.Else你需要使用SDK Manager更新它。检查是什么版本的安装了构建工具,如果它比较旧,你可以下载最新的构建工具版本。现在我的应用程序工作正常。