简体   繁体   English

在较旧的设备上出现NoClassDefFound错误

[英]NoClassDefFound error on older devices

Since a couple of weeks I'm not able to run my app anymore on older devices. 几个星期以来,我无法在较旧的设备上运行我的应用程序。 It works fine on my OnePlus One for example, or on the SGS5 but not on my Galaxy S3. 例如,它在我的OnePlus One或SGS5上运行良好,但在我的Galaxy S3上却无法正常运行。

When I debug the app through Android Studio, it throws a NoClassDefFoundError for a just created custom class. 当我通过Android Studio调试应用程序时,它将为刚刚创建的自定义类抛出NoClassDefFoundError。

java.lang.NoClassDefFoundError: com.appsbv.sample.ComponentsEndpoint

Do you guys know how to solve this? 你们知道如何解决吗? PS I'm running Android Studio 1.3 on OS X PS我在OS X上运行Android Studio 1.3

Below my gradle file: 在我的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'
}

That ComponentsEndpoint class looks like this: 该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;
    }
}

add this to your build.gradle nd you will be good to go 将此添加到您的build.gradle中,您会很高兴

dependencies {
compile 'com.android.support:multidex:1.0.0'
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM