簡體   English   中英

在 minifyEnabled true 后啟動應用程序時出現 NumberFormatException

[英]NumberFormatException while starting app after minifyEnabled true

我正在尋找解決此問題的方法:

01-16 12:29:55.975 1199-1334/com.zztproject.curlife E/AndroidRuntime: FATAL EXCEPTION: Thread-16992
                                                                  Process: com.zztproject.curlife, PID: 1199
                                                                  java.lang.NumberFormatException: Invalid int: "null"
                                                                      at java.lang.Integer.invalidInt(Integer.java:138)
                                                                      at java.lang.Integer.parseInt(Integer.java:358)
                                                                      at java.lang.Integer.parseInt(Integer.java:334)
                                                                      at com.zztproject.curlife.HomeActivity$a.run(Unknown Source)

我發現這個問題是由 minifyEnabled true引起的。 我的 gradle 文件(片段):

    buildTypes {
    debug {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'),
                'proguard-rules.pro'
    }
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:design:25.0.0'
testCompile 'junit:junit:4.12'
compile 'com.android.support:gridlayout-v7:25.0.0'
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.android.volley:volley:1.0.0'
compile group: 'com.koushikdutta.urlimageviewhelper', name: 'urlimageviewhelper', version: '1.0.4'}

還有我的 proguard-rules.pro:

-keepattributes Signature
-keepattributes *Annotation*
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.examples.android.model.** { *; }
-keepclassmembers class com.zztprojects.curlife {
 public *;
}

這是我的項目結構: 項目結構

請幫我解決這個問題,我嘗試了很多我在 StackOverflow 上發現的東西,但都沒有成功。

編輯:我來自 HomeActivity 的空值:

    private void publishProgressEvents(final Event mEvent) {
    runOnUiThread(new Runnable() {
        LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout layout = null;
        LinearLayout container = null;
        ImageView logo = null;
        TextView name = null;
        TextView timePlace = null;
        String timePlaceInfo;
        TextView description = null;
        LinearLayout list = (LinearLayout) findViewById(R.id.listEventsHome);
        Events event;
        ImageView photo;
        @Override
        public void run() {
        ...
        container.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if(event.eventUrl != "" && event.eventUrl != null) {
                        goToUrlOfEvent(event.eventUrl);
                    }
                }
            });

EDIT2:現在錯誤顯示這一行:

            for (int counter = 0; counter < Integer.parseInt(number.number); counter++) {

EDIT3:我的 EventsNumber 類:

private class EventsBumber {
    @SerializedName("number")
    Integer number;
}

我只需要在Integer number;之前添加這一行@SerializedName("number") Integer number; 最后這個片段:

    @SerializedName("number")
    Integer number;

暫無
暫無

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

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