【问题标题】:My app works fine when I run it from android studio, but doesn't work from google play [closed]当我从 android studio 运行我的应用程序时,它可以正常工作,但不能从 google play [关闭]
【发布时间】:2021-05-22 07:33:10
【问题描述】:

我有一个购物车应用程序,需要用户使用 PHP laravel API 登录。 当我从 android studio 运行该应用程序时,它可以正常工作,没有错误或意外行为,但是当我从 Google Play 商店安装它并输入我的电话号码和密码以登录时,该应用程序显示一条空的 toast 消息并且什么也不做,API正在返回一个空的身体。

我在我的 android 模拟器和 postman 中测试了 API,API 似乎可以正常工作并获得预期的响应。

所附图片显示了我在未上传到商店的情况下构建的已签名 APK 的日志(仅用于测试)。

我该如何解决这个问题?

【问题讨论】:

  • 你在使用混淆吗?
  • 完全不相关,为什么,为什么,为什么要使用GET参数作为密码? It's a bad idea。除非您要创建不安全的程序,否则请使用 POST 正文。 (在这种情况下,我希望这不会在野外使用,为了用户)
  • 这是一个 POST 请求而不是 GET,GetLogin 是我用来处理响应的模型的名称!
  • @POST("login") 调用 login(@QueryMap Map map);

标签: php android android-studio google-play apk


【解决方案1】:

此类问题有两个常见原因:

  • 混淆:您是在本地测试 release APK 还是 debug APK?如果您在本地测试调试 APK,您可能没有使用混淆进行测试,因此应用程序的行为可能会有所不同。确保您在本地测试 release APK。

  • 证书:如果您使用 API,您通常必须向提供 APK 证书的 SHA-1 的 API 注册。当您发布到 Play 商店时,如果您注册了 Play 签名,Google Play 会在将 APK 发送给用户之前对其进行重新签名,因此 SHA-1 会有所不同。因此,您还需要注册 Play 签署最终 APK 的“应用签名密钥”的 SHA-1。您可以在 Play 管理中心的 App Signing(或现在称为 App Integrity)中找到此证书和 SHA-1。

很难判断您属于哪个类别,因此请考虑同时检查。

【讨论】:

    【解决方案2】:

    我在 gradle 文件中删除 minifyEnabled 行后解决了这个问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多