我正在将现有应用程序从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中的库中实现接口的类
怎么了,我该如何解决?
相关分类