Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 改装:NPE,尝试在空对象引用上调用接口方法(仅限发布版本)_Java_Android_Retrofit - Fatal编程技术网

Java 改装:NPE,尝试在空对象引用上调用接口方法(仅限发布版本)

Java 改装:NPE,尝试在空对象引用上调用接口方法(仅限发布版本),java,android,retrofit,Java,Android,Retrofit,我是新手,我的实现在我的应用程序的调试版本中工作得很好,但是一旦我切换到发布版本,我就会在调用模型类(我的POJO类)时得到一个NPE。我确保在Proguard中添加 -keep class retrofit.** { *; } -keep class retrofit.http.** { *; } -keep class retrofit.client.** { *; } -keep class com.squareup.okhttp.** { *; } -keep interface com

我是新手,我的实现在我的应用程序的调试版本中工作得很好,但是一旦我切换到发布版本,我就会在调用模型类(我的POJO类)时得到一个NPE。我确保在Proguard中添加

-keep class retrofit.** { *; }
-keep class retrofit.http.** { *; }
-keep class retrofit.client.** { *; }
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-keepattributes Signature
-dontwarn okio.** 
以下是我的实现:


我所有的POJO类和服务器api调用都是库项目(我自己的SDK)的一部分。我忘记将SDK添加到proguard属性文件中,这导致了错误。现在一切正常。

实际堆栈跟踪是什么?这将有助于了解proguard混淆/删除了哪些内容。我想我忘了将我自己的SDK类添加到proguard属性中。请立即尝试。
    TestService service = RequestHelper.createService(TestAPIService.class,
     TestAPIService.BASE_URL);

                    service.getResponse("USER", 40, new Callback<OffersResponse>() {


                        @Override
                        public void success(final TestResponse testResponse, final Response response) {

                            bundle.putParcelable("TestResponse", testResponse);
                            String user = testResponse.getUser().get(0).getName().toString();
                            Toast.makeText(getActivity(),user, Toast.LENGTH_LONG).show();

                        }

                        @Override
                        public void failure(RetrofitError error) {
                            Log.d(TAG, "" + error.toString());

                        }
                    });
E/AndroidRuntime(17647): java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.List.get(int)' on a null object reference
E/AndroidRuntime(17647):    at com.test.browser.check.w.a(Unknown Source)
E/AndroidRuntime(17647):    at com.test.browser.check.w.success(Unknown Source)
E/AndroidRuntime(17647):    at retrofit.CallbackRunnable$1.run(Unknown Source)
E/AndroidRuntime(17647):    at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime(17647):    at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(17647):    at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(17647):    at android.app.ActivityThread.main(ActivityThread.java:5221)
E/AndroidRuntime(17647):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(17647):    at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(17647):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
E/AndroidRuntime(17647):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
W/ActivityManager( 2144):   Force finishing activity com.test.browser/.check.Check