当前位置: 首页 > 知识库问答 >
问题:

谷歌在play console安装应用程序后导致API崩溃

屠振濂
2023-03-14

在将我的应用上传到play store之前,我在play console中创建了一个测试版本。该应用程序有一个playstore自动完成字段,然而,当我从playstore安装我的应用程序的测试版本时,每次我在自动完成字段中写入内容,然后按空格键崩溃!

在android studio上测试该应用程序时,它运行良好,没有任何错误或崩溃。

谢谢你的帮助。

编辑:我使用这个库的自动完成(https://github.com/seatgeek/android-PlacesAutocompleteTextView)

以下是坠机报告的标题:

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)

共有1个答案

郎羽
2023-03-14

所以这是前卫,我不得不把图书馆包括在“proguard-rules.pro”中,就像下面这样:

-keep class com.seatgeek.*{ *; }
-keep class com.seatgeek.placesautocomplete**{ *; }
-keep class com.seatgeek.placesautocomplete.json**{ *; }
-keepclassmembers enum com.seatgeek.* { *; }
 类似资料:
  • 这里是Android开发者新手。我在MainActivity中使用recyclerview,应用程序不断崩溃。 任何帮助都将受到赞赏! 编辑:对不起,我是新来的。我已经附加了Logcat。和其他xml文件。谢谢 这是我的代码: 列出你的布局。xml: activity_main.xml: } ProductAdapter。java类: } Logcat: 致命异常:主进程:e.wolverine2

  • 我在Android Studio中有一个Android 9模拟器,我正在尝试在上面运行我的应用程序。 但是应用程序在启动时崩溃,它会不断记录这个冗长的错误: 我见过这个和这个,但是禁用麦克风权限和谷歌搜索应用程序并没有解决我的问题。 我应该怎么做来修复此错误?

  • 我正在使用内置于Web View的Android开发浏览器。其中我面临的一个问题是,当我访问http://crashmybrowser.com测试浏览器上的选项卡崩溃时,我的整个浏览器应用程序都会崩溃。但是,当在chrome或Opera上进行相同的测试时,这些浏览器会在崩溃中幸存下来,并且只有特定的选项卡崩溃是由于访问上述网站而预期的结果。有人能帮助理解我如何在使用Webview的浏览器上处理此崩

  • 接下来,我生成了自己的OAuth2客户机ID并使用它。这种方法很简单,直到我开始收到来自Google的“匿名使用过期”错误,一段时间后我意识到这是因为密钥没有启用只读日历范围。 我的下一个想法是公开日历,并使用静态API密钥,但日历是从一个名为Peak Pro的预订服务中同步的,该服务用参加活动的客户的姓名、电子邮件和电话号码填充日历描述。我不能公开揭露那些。 接下来,我被吸引到了CalDAV A

  • 问题内容: 我正在开发一个Android 3.1应用程序,该应用程序使用USB主机模式通过USB上的MIDI与我的键盘(Korg M3)进行通信。这是在装有Android 4.0.3的Xoom上运行的。我可以通过USB接收MIDI消息而没有任何问题,但是将音符数据发送回键盘的效果是好坏参半,延迟半秒钟后便会频繁崩溃。 这是我在点击操作栏上的按钮发送注释时不断遇到的错误: E / dalvikvm(

  • 问题内容: 我已经在我的应用中实现了GCM通知。我现在尝试在用户注销时注销该应用程序。我正在使用以下代码。执行此代码时,它将导致应用程序崩溃,并显示以下logcat: 这是代码: 问题答案: 将支持库更新为25.0.0后,我遇到了同样的问题。对我来说,更新下面的库之后,在应用程序gradle文件中,问题消失了。