假设我们用 try catch 块包围了一些字节码指令,并且本地类型在 try catch 块范围之间发生变化(以前用于 int 类型的本地寄存器现在用于引用类型,位于 TCB 内部)。
这个try catch块的handler只能有一个frame(不允许分割,java字节码规则)。但问题是,如果在本地类型更改之前抛出异常,则指针框架会有所不同。
根据在 TCB 中抛出异常时设置的本地类型,处理程序必须具有不同的帧,但这在 java 字节码中是不可能的。因此我的问题是:处理程序框架对应于 TCB 中的哪个部分?它会使用“超级类型”而不是选择一个(-> 未初始化)吗?
我将我的应用程序放入 Google Play 商店,并启用“应用程序签名”(= Play 商店管理密钥)。我想做的是让在 Play 商店(版本 1.14 及之前版本)之前拥有该应用程序的用户能够通过 Play 商店(1.15+)安装下一个版本。
在 1.14 版本之前,我手动向每个用户提供了 .apk 文件。1.15 版是 Play 商店中的第一个版本。
我更新了应用程序签名密钥以匹配我的发布密钥。我不记得我到底是怎么做到的,但 Play 商店为我提供了某种我必须运行的 .jar 文件,并且它创建了一个我必须上传的 .zip 文件。
Play 管理中心中的 SHA-1 哈希值与我的发布密钥 SHA-1 匹配。不过,更新只能通过重新安装应用程序并丢失所有数据来安装,因为 Play 商店在尝试更新时会显示失败消息。
有什么技巧可以让它发挥作用吗?我做错什么了吗?