簡體   English   中英

在較舊的設備上出現NoClassDefFound錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM