gpt4 book ai didi

android - Google Play APK 和 Android Studio APK(USB 调试)的行为不同

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:50 25 4
gpt4 key购买 nike

我之前发布了一个问题:'No args constructor for class does not exist', but it does当我通过 Android Studio 在手机上使用 USB Debug模式对其进行测试时,收到了一个有效的答案。但是,当我将该应用程序推送到 Google Play 时,它停止工作并导致我在该问题中描述的相同错误。我今天重复了测试,同样的事情发生了。

澄清一下,我正在测试:

  • 完全相同的代码
  • 在完全相同的手机上
  • 运行完全相同的 Android 版本
  • 使用完全相同的图片

为什么 Google Play APK 的行为与 Android Studio APK 不同?还是我遗漏了什么?

最佳答案

根据您的 build.gradle 配置,release 版本通常在您的代码上运行 ProGuard调试 版本通常不会在代码上运行此类工具。

所以可能发生的事情是 ProGuard 运行了您的代码,发现 MwVolleyApi$Page 没有在任何地方使用,并将其删除。

为了测试这个理论,在你的 build.gradle 中关闭 minifyEnabled:

release {
minifyEnabled false
...
}

然后构建一个release-apk,并测试它。

顺便说一句,在将它们上传到 Google Play 之前,您应该始终在您的设备上测试发布 apks,您可以通过 adb install 安装它们,或者将它们复制到 sd 卡并从 安装它们在您的手机上下载应用程序。

如果这确实解决了问题,您可以将规则添加到您的 proguard.cfg 文件以防止删除 Page 类,例如:

-keep class fr.free.nrw.commons.upload.MwVolleyApi$Page {*;}

然后可以把minifyEnabled改回true,再测试

关于android - Google Play APK 和 Android Studio APK(USB 调试)的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40232404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com