![](/img/trans.png)
[英]Getting a class not found exception / noclassdeffound error on some Android devices
[英]NoClassDefFound error on older devices
幾個星期以來,我無法在較舊的設備上運行我的應用程序。 例如,它在我的OnePlus One或SGS5上運行良好,但在我的Galaxy S3上卻無法正常運行。
當我通過Android Studio調試應用程序時,它將為剛剛創建的自定義類拋出NoClassDefFoundError。
java.lang.NoClassDefFoundError: com.appsbv.sample.ComponentsEndpoint
你們知道如何解決嗎? PS我在OS X上運行Android Studio 1.3
在我的gradle文件下面:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion '22.0.0'
defaultConfig {
applicationId "com.appsbv.sample"
minSdkVersion 14
targetSdkVersion 22
versionCode 17
versionName "7.0"
multiDexEnabled true
}
buildTypes {
debug {
minifyEnabled false
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
productFlavors {
}
}
repositories {
// for downloading polypicker dependency cwac-camera
maven { url 'https://repo.commonsware.com.s3.amazonaws.com' }
// Goodbye Maven Central
maven { url 'https://jitpack.io' }
}
dependencies {
compile project(':library')
compile 'com.google.code.gson:gson:2.3.1'
compile 'org.parceler:parceler:0.2.16'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0'
compile 'in.srain.cube:grid-view-with-header-footer:1.0.11'
compile 'com.tonicartos:stickygridheaders:1.0.1'
compile 'com.parse.bolts:bolts-android:1.1.3'
compile 'com.soundcloud.android:android-crop:1.0.0@aar'
compile 'com.google.android.gms:play-services:6.5.87'
compile files('src/main/java/com/appsbv/Parse-1.9.1.jar')
compile 'com.github.jaydeepw:poly-picker:v1.0.14'
}
該ComponentsEndpoint類看起來像這樣:
public class ComponentsEndpoint implements Endpoint {
private static final String PROTOCOL = "http://";
private static final String BASE = ".appsbv.nl/v1";
private String url;
private String service;
public void setService(String serv) {
service = serv;
url = PROTOCOL + serv + BASE;
}
@Override
public String getName() {
return service;
}
@Override
public String getUrl() {
if (url == null) {
throw new IllegalStateException("Illegal URL.");
}
return url;
}
}
將此添加到您的build.gradle中,您會很高興
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.