Android 谷歌在从游戏控制台安装应用程序后导致API崩溃
在将我的应用程序上传到play store之前,我在play console中创建了一个测试版本。 该应用程序有一个places autocomplete字段,但是,当我从playstore安装我的应用程序的测试版本时,每次我在autocomplete字段中写入内容,然后按空格键,它就会崩溃 在android studio上测试该应用程序时,它运行良好,没有任何错误或崩溃 谢谢你的帮助 编辑:我正在使用这个自动完成库() 这是事故报告的标题:Android 谷歌在从游戏控制台安装应用程序后导致API崩溃,android,google-play-services,google-places-api,google-play-console,googleplacesautocomplete,Android,Google Play Services,Google Places Api,Google Play Console,Googleplacesautocomplete,在将我的应用程序上传到play store之前,我在play console中创建了一个测试版本。 该应用程序有一个places autocomplete字段,但是,当我从playstore安装我的应用程序的测试版本时,每次我在autocomplete字段中写入内容,然后按空格键,它就会崩溃 在android studio上测试该应用程序时,它运行良好,没有任何错误或崩溃 谢谢你的帮助 编辑:我正在使用这个自动完成库() 这是事故报告的标题: java.lang.AssertionError
java.lang.AssertionError
事故报告:
java.lang.AssertionError:
at com.google.gson.Gson.fromJson (Gson.java)
at com.google.gson.Gson.fromJson (Gson.java)
at com.seatgeek.placesautocomplete.json.GsonPlacesApiJsonParser.autocompleteFromStream (GsonPlacesApiJsonParser.java:14)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient$1.handleStreamResult (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient$1.handleStreamResult (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.model.Status.isSuccessful (Status.java:30)
at com.seatgeek.placesautocomplete.network.HttpUrlConnectionMapsHttpClient.isErrorResponse (HttpUrlConnectionMapsHttpClient.java:30)
at com.seatgeek.placesautocomplete.network.HttpUrlConnectionMapsHttpClient.executeNetworkRequest (HttpUrlConnectionMapsHttpClient.java:30)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient.executeAutocompleteRequest (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.PlacesApi.autocomplete (PlacesApi.java)
at com.seatgeek.placesautocomplete.adapter.PlacesApiFilter.performFiltering (PlacesApiFilter.java)
at android.widget.Filter$RequestHandler.handleMessage (Filter.java:236)
at android.os.Handler.dispatchMessage (Handler.java:107)
at android.os.Looper.loop (Looper.java:214)
at android.os.HandlerThread.run (HandlerThread.java:67)
Caused by: java.lang.AssertionError:
at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.<init> (TypeAdapters.java:87)
at com.google.gson.internal.bind.TypeAdapters$30.create (TypeAdapters.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create (CollectionTypeAdapterFactory.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField (ReflectiveTypeAdapterFactory.java)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create (CollectionTypeAdapterFactory.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField (ReflectiveTypeAdapterFactory.java)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.Gson.fromJson (Gson.java)
at com.google.gson.Gson.fromJson (Gson.java)
at com.seatgeek.placesautocomplete.json.GsonPlacesApiJsonParser.autocompleteFromStream (GsonPlacesApiJsonParser.java:14)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient$1.handleStreamResult (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient$1.handleStreamResult (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.model.Status.isSuccessful (Status.java:30)
at com.seatgeek.placesautocomplete.network.HttpUrlConnectionMapsHttpClient.isErrorResponse (HttpUrlConnectionMapsHttpClient.java:30)
at com.seatgeek.placesautocomplete.network.HttpUrlConnectionMapsHttpClient.executeNetworkRequest (HttpUrlConnectionMapsHttpClient.java:30)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient.executeAutocompleteRequest (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.PlacesApi.autocomplete (PlacesApi.java)
at com.seatgeek.placesautocomplete.adapter.PlacesApiFilter.performFiltering (PlacesApiFilter.java)
at android.widget.Filter$RequestHandler.handleMessage (Filter.java:236)
at android.os.Handler.dispatchMessage (Handler.java:107)
at android.os.Looper.loop (Looper.java:214)
at android.os.HandlerThread.run (HandlerThread.java:67)
Caused by: java.lang.NoSuchFieldException:
at java.lang.Class.getField (Class.java:1604)
at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.<init> (TypeAdapters.java:34)
at com.google.gson.internal.bind.TypeAdapters$30.create (TypeAdapters.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create (CollectionTypeAdapterFactory.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField (ReflectiveTypeAdapterFactory.java)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create (CollectionTypeAdapterFactory.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField (ReflectiveTypeAdapterFactory.java)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java)
at com.google.gson.Gson.getAdapter (Gson.java:68)
or .setDelegate (Gson.java:68)
at com.google.gson.Gson.fromJson (Gson.java)
at com.google.gson.Gson.fromJson (Gson.java)
at com.seatgeek.placesautocomplete.json.GsonPlacesApiJsonParser.autocompleteFromStream (GsonPlacesApiJsonParser.java:14)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient$1.handleStreamResult (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient$1.handleStreamResult (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.model.Status.isSuccessful (Status.java:30)
at com.seatgeek.placesautocomplete.network.HttpUrlConnectionMapsHttpClient.isErrorResponse (HttpUrlConnectionMapsHttpClient.java:30)
at com.seatgeek.placesautocomplete.network.HttpUrlConnectionMapsHttpClient.executeNetworkRequest (HttpUrlConnectionMapsHttpClient.java:30)
at com.seatgeek.placesautocomplete.network.AbstractPlacesHttpClient.executeAutocompleteRequest (AbstractPlacesHttpClient.java)
at com.seatgeek.placesautocomplete.PlacesApi.autocomplete (PlacesApi.java)
at com.seatgeek.placesautocomplete.adapter.PlacesApiFilter.performFiltering (PlacesApiFilter.java)
at android.widget.Filter$RequestHandler.handleMessage (Filter.java:236)
at android.os.Handler.dispatchMessage (Handler.java:107)
at android.os.Looper.loop (Looper.java:214)
at android.os.HandlerThread.run (HandlerThread.java:67)
java.lang.AssertionError:
位于com.google.gson.gson.fromJson(gson.java)
位于com.google.gson.gson.fromJson(gson.java)
位于com.seatgeek.placesautocomplete.json.GsonPlacesApiJsonParser.autocompleteFromStream(GsonPlacesApiJsonParser.java:14)
在com.seatgeek.placesautomplete.network.AbstractPlacesHttpClient$1.handleStreamResult(AbstractPlacesHttpClient.java)上
在com.seatgeek.placesautomplete.network.AbstractPlacesHttpClient$1.handleStreamResult(AbstractPlacesHttpClient.java)上
在com.seatgeek.placesautocomplete.model.Status.isSuccessful上(Status.java:30)
在com.seatgeek.placesautocomplete.network.HttpUrlConnectionMapsHttpClient.isErrorResponse(HttpUrlConnectionMapsHttpClient.java:30)
位于com.seatgeek.placesautomplete.network.HttpUrlConnectionMapsHttpClient.executeNetworkRequest(HttpUrlConnectionMapsHttpClient.java:30)
在com.seatgeek.placesautomplete.network.AbstractPlacesHttpClient.executeAutocompleteRequest(AbstractPlacesHttpClient.java)上
在com.seatgeek.placesautocomplete.PlacesApi.autocomplete(PlacesApi.java)上
在com.seatgeek.placesautomplete.adapter.PlacesApiFilter.performFiltering(PlacesApiFilter.java)上
在android.widget.Filter$RequestHandler.handleMessage(Filter.java:236)中
位于android.os.Handler.dispatchMessage(Handler.java:107)
位于android.os.Looper.loop(Looper.java:214)
在android.os.HandlerThread.run(HandlerThread.java:67)
原因:java.lang.AssertionError:
在com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter上。(TypeAdapters.java:87)
位于com.google.gson.internal.bind.TypeAdapters$30.create(TypeAdapters.java)
位于com.google.gson.gson.getAdapter(gson.java:68)
或.setDelegate(Gson.java:68)
位于com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java)
位于com.google.gson.gson.getAdapter(gson.java:68)
或.setDelegate(Gson.java:68)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.CreateBundfield(ReflectTypeAdapterFactory.java)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.getBoundFields(ReflectTypeAdapterFactory.java)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.create(ReflectTypeAdapterFactory.java)
位于com.google.gson.gson.getAdapter(gson.java:68)
或.setDelegate(Gson.java:68)
位于com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java)
位于com.google.gson.gson.getAdapter(gson.java:68)
或.setDelegate(Gson.java:68)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.CreateBundfield(ReflectTypeAdapterFactory.java)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.getBoundFields(ReflectTypeAdapterFactory.java)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.create(ReflectTypeAdapterFactory.java)
位于com.google.gson.gson.getAdapter(gson.java:68)
或.setDelegate(Gson.java:68)
位于com.google.gson.gson.fromJson(gson.java)
位于com.google.gson.gson.fromJson(gson.java)
位于com.seatgeek.placesautocomplete.json.GsonPlacesApiJsonParser.autocompleteFromStream(GsonPlacesApiJsonParser.java:14)
在com.seatgeek.placesautomplete.network.AbstractPlacesHttpClient$1.handleStreamResult(AbstractPlacesHttpClient.java)上
在com.seatgeek.placesautomplete.network.AbstractPlacesHttpClient$1.handleStreamResult(AbstractPlacesHttpClient.java)上
在com.seatgeek.placesautocomplete.model.Status.isSuccessful上(Status.java:30)
在com.seatgeek.placesautocomplete.network.HttpUrlConnectionMapsHttpClient.isErrorResponse(HttpUrlConnectionMapsHttpClient.java:30)
位于com.seatgeek.placesautomplete.network.HttpUrlConnectionMapsHttpClient.executeNetworkRequest(HttpUrlConnectionMapsHttpClient.java:30)
在com.seatgeek.placesautomplete.network.AbstractPlacesHttpClient.executeAutocompleteRequest(AbstractPlacesHttpClient.java)上
在com.seatgeek.placesautocomplete.PlacesApi.autocomplete(PlacesApi.java)上
在com.seatgeek.placesautomplete.adapter.PlacesApiFilter.performFiltering(PlacesApiFilter.java)上
在android.widget.Filter$RequestHandler.handleMessage(Filter.java:236)中
位于android.os.Handler.dispatchMessage(Handler.java:107)
位于android.os.Looper.loop(Looper.java:214)
在android.os.HandlerThread.run(HandlerThread.java:67)
原因:java.lang.NoSuchFieldException:
在java.lang.Class.getField(Class.java:1604)
在com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter上。(TypeAdapters.java:34)
位于com.google.gson.internal.bind.TypeAdapters$30.create(TypeAdapters.java)
位于com.google.gson.gson.getAdapter(gson.java:68)
或.setDelegate(Gson.java:68)
位于com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java)
位于com.google.gson.gson.getAdapter(gson.java:68)
或.setDelegate(Gson.java:68)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.CreateBundfield(ReflectTypeAdapterFactory.java)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.getBoundFields(ReflectTypeAdapterFactory.java)
位于com.google.gson.internal.bind.ReflectTypeAdapterFactory.create(ReflectTypeAdapterFactory.java)
位于com.google.gson.gson.getAdapter(gson.java:68)
或.setDelegate(Gson.java:68)
-keep class com.seatgeek.*{ *; }
-keep class com.seatgeek.placesautocomplete**{ *; }
-keep class com.seatgeek.placesautocomplete.json**{ *; }
-keepclassmembers enum com.seatgeek.* { *; }