Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App crash when uploading my app to playstore #98

Open
dorperez opened this issue May 27, 2021 · 2 comments
Open

App crash when uploading my app to playstore #98

dorperez opened this issue May 27, 2021 · 2 comments

Comments

@dorperez
Copy link

Hello everyone,

I am using this script in my app and when I try to use it after uploading it to play services the app crash.

When I enter the app and choosing the autocompletetextview and try to write something, its crash. In the debug version eveerything is working just fine and I don't know why.

Crash report:

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)
@sddamico
Copy link
Member

@dorperez it sounds like you might be having an issue with proguard/r8 minification of your app. since gson uses reflection to access fields during json parsing, you need to make sure that the field names are not being obfuscated by proguard.

Try adding a rule like this to your proguard configuration:

-keep class com.seatgeek.placesautocomplete.model.** { *; }

@erikswed
Copy link

There's actually an "Caused by: java.lang.AssertionError:" in the log, are you doing this in your code :

throw new AssertionError();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants