簡體   English   中英

在某些Android設備上獲取類未找到異常/ noclassdeffound錯誤

[英]Getting a class not found exception / noclassdeffound error on some Android devices

我有一個實現Parcelable的類,這使我拋出NoClassDefFoundError ,在某些設備上未找到類異常。 目前,我僅在Samsung Android設備上收到此錯誤。 在Nexus 5,Nexus 4和Android仿真器上,它可以正常運行,但由於某些原因在三星上無法運行。 我沒有在調試中使用三星設備,因此僅在三星遠程測試實驗室進行了測試。

同樣,所討論的課程也沒什么特別的。 一個簡單的類,僅從包裹中寫入/讀取的long,string和int。 我檢查了讀寫順序。 此外,沒有從庫中引用該類。

ERROR   06-23 09:14:13.578  892 1507        Parcel  Class not found when unmarshalling: path.class

ERROR   06-23 09:14:13.578  892 1507        Parcel  Caused by: java.lang.NoClassDefFoundError: path/class

ERROR   06-23 09:14:13.578  892 1507        Parcel  Caused by: java.lang.ClassNotFoundException: Didn't find class "path.class" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]

該類可包裹部分的代碼。

public class Sprint implements Parcelable {

    private long mStartTime;
    private long mEndTime;
    private int mDaysInSprint;
    private String mSprintTitle;
    private int mId;

    private Sprint(Parcel source) {
        mStartTime = source.readLong();
        mEndTime = source.readLong();
        mDaysInSprint = source.readInt();
        mSprintTitle = source.readString();
        mId = source.readInt();
    }
    public static final Parcelable.Creator<Sprint> CREATOR = new Parcelable.Creator<Sprint>() {
        @Override
        public Sprint createFromParcel(Parcel source) {
            return new Sprint(source);
        }
        @Override
        public Sprint[] newArray(int size) {
            return new Sprint[size];
        }
    };

    @Override
    public int describeContents() {
        return hashCode();
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeLong(mStartTime);
        dest.writeLong(mEndTime);
        dest.writeInt(mDaysInSprint);
        dest.writeString(mSprintTitle);
        dest.writeInt(mId);
    }

由於API版本兼容性,可能導致此錯誤。 請檢查並使用最新版本的API。 不確定,但是據我所知這是原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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