调试 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
并使用bundletools
和debug .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 工作正常,但发布包不能正常工作的主要内容,如果未能解决你的问题,请参考以下文章
Android apk 调试模式工作正常,但发布模式给出太多警告
我的 Flutter 构建版本 APK 不工作,但调试 APK 工作
当您生成签名的 apk 时,Firebase 数据库无法正常工作