猿问

Android 4上的Android Studio出现NoClassDefFoundError

我正在将现有应用程序从Eclipse转换为Android Studio。但是,当我在运行4.x的设备上运行它(我已经在模拟器上测试了多个版本)时,它立即崩溃并显示为NoClassDefFoundError。


我尝试注释掉对它找不到的类的引用,但是总有另一个。据所知,违规类总是


用我自己的代码

内部类(更新:经过更多调查,这个并不总是正确的)

在5.0.1模拟器上一切正常(我没有要测试的设备)。我的build.gradle文件相当长,但是看起来像这样:


apply plugin: 'com.android.application'

apply plugin: 'android-apt'


def AAVersion = "2.7.1"


android {

    compileSdkVersion 19

    buildToolsVersion "21.1.1"


    defaultConfig {

        applicationId "com.myapp.android"

        minSdkVersion 8

        targetSdkVersion 19

        multiDexEnabled = true

    }


    buildTypes {

        release {

            minifyEnabled false

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'

        }

    }


    packagingOptions {

        *snip*

    }

}


buildscript {

    repositories {

        mavenCentral()


    }

    dependencies {

        classpath 'com.android.tools.build:gradle:1.0.0'

        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'

    }

}


repositories {

    maven {

        url "https://repo.commonsware.com.s3.amazonaws.com"

    }

}


apt {

    arguments {

        androidManifestFile variant.outputs[0].processResources.manifestFile

        resourcePackageName 'com.pact.android'

    }

}


dependencies {

    *snip compile project(':...') declarations


    apt "com.googlecode.androidannotations:androidannotations:$AAVersion"

    compile "com.googlecode.androidannotations:androidannotations-api:$AAVersion"


    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'

    compile 'com.android.support:support-v4:21.0.3'

    compile 'com.google.android.gms:play-services:3.1.36'


    *snip many more compile declarations*


    compile fileTree(dir: 'libs', include: ['*.jar'])

}

引起麻烦的类的一些示例:


一个实现Facebook库内部接口的匿名类(作为库项目)

Parcelable.CREATOR 我模型中的实现

扩展android.os.Library的内部类

我自己的代码中的内部类

在maven中的库中实现接口的类

怎么了,我该如何解决?


料青山看我应如是
浏览 833回答 3
3回答
随时随地看视频慕课网APP

相关分类

Android
我要回答