【发布时间】:2022-08-02 21:30:44
【问题描述】:
尽管几个月没有在生产环境中更新,但我们的应用程序在进行 API 调用时已经开始挂起。我们可以使用应用程序的 Play 商店版本或通过创建本地构建的 APK 文件并对其进行签名来复制问题。但是,我们无法在浏览器或本地构建的未签名 APK 文件上复制该问题。如果我们执行一个进行 API 调用的操作,然后离开应用程序几分钟,我们会看到“应用程序没有响应”消息,即使您仍然可以在应用程序中导航。
有什么方法可以解决此问题或查看导致应用程序无响应的原因?我试过查看网络/调试选项卡,但这在签名设备上似乎是不可能的。
# Generate Key
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
# Sign the APK
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name
-
它与签名无关 - 调试版本也已签名。它们使用您安装 Android Studio 时生成的密钥进行签名。最有可能的是,您为发布和调试构建访问了不同的 URL,以访问暂存环境,并且发布设置有问题。但是您需要使用调试器并找出在较低级别上实际发生的情况,特别是您的网络调用正在执行和返回的内容。
-
我们访问的是同一个 URL。我运行
ionic cordova build android --release来制作APK 文件,然后对apk 文件进行签名。签署应用程序是我所知道的唯一区别。如果签署应用程序使应用程序不可调试,我们如何使用调试器? -
签署应用程序不是您的问题。所有 APK 均已签名。甚至调试。 Android 将拒绝运行未签名的 APK。你的问题在别处。
-
抱歉,如果我在这里遗漏了一些东西,但应用程序确实运行并且它正常工作,直到我使用上面的 jarsigner 命令对其进行签名。当我签署它时,我遇到了我们在生产中遇到的同样问题。令人困惑的部分是生产应用程序已经运行了几个月并且没有任何更新。
-
产品版本中还有其他差异。正如回答者已经建议的那样,proguard 是一个可能的嫌疑人。
标签: android cordova ionic-framework ionic-cordova