调试 APK 工作正常,包中的 APKS 工作正常,但发布包不能正常工作

Posted

技术标签:

【中文标题】调试 APK 工作正常,包中的 APKS 工作正常,但发布包不能正常工作【英文标题】:Debug APK works fine, APKS from bundle works fine but release bundle does not work properly 【发布时间】:2021-11-23 02:23:12 【问题描述】:

我在真实设备上生成并测试了debug .apk,它工作正常。

然后我生成了一个debug bundle 并使用bundletoolsdebug .apks 提取并在真实设备上安装/测试它,它工作正常。

然后我生成了一个release bundle 并将其作为内部版本推送到 Google Play 商店,但当我尝试登录时应用程序挂起。

代码中没有任何错误。只有release bundle 不能正常工作(挂起)。 可能是什么原因?如何解决这个问题??

编辑:似乎由于未知原因,对 https 的 AJAX 调用在发布版本中不再起作用。 SSL 证书是使用 Let's Encrypt 生成的

【问题讨论】:

【参考方案1】:

调试构建和发布构建在方面是不同的

    Proguard:它在发布版本中启用。因此,如果您使用反射 api 或任何可能使用反射的库。就像您使用 GSON 库一样,您需要从 proguard 中排除您的 json 响应,或者在响应字段上添加注释 @SerlializeName("key")。 更新您在 ProGuard 配置中使用的所有库的 proguard 规则。

    BuildConfig.DEBUG : 检查是否有任何代码与 BuildConfig.DEBUG 检查有一些逻辑,当 BuildConfig.DEBUG 为 false 时它会中断..

【讨论】:

我正在使用cordova,所以我根本没有接触proguard 好的。所以它以前工作吗? 是的,工作正常... 请问,BuildConfig.DEBUG 在哪里

以上是关于调试 APK 工作正常,包中的 APKS 工作正常,但发布包不能正常工作的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地图在发布apk中显示空白屏幕,在调试模式下工作正常

Android apk 调试模式工作正常,但发布模式给出太多警告

我的 Flutter 构建版本 APK 不工作,但调试 APK 工作

当您生成签名的 apk 时,Firebase 数据库无法正常工作

我的颤振应用程序没有从 release.apk 中的 api 获取数据,但在调试模式下工作

在 Debug 模式下工作正常 vs Build APK 不工作,Flutter