我正在尝试将应用程序从 BES 推送到 Blackberry 设备。我知道一切正常,因为它以前曾工作过。我现在有一个旧版本的应用程序,我已经为它创建了一个软件配置(我已经删除了应用程序的原始版本并重新编制了索引)。我还从设备上彻底清除了应用程序的先前(尽管较新)版本。现在,当我将软件配置分配给用户时,黑莓管理器报告说需要降级,这是有道理的,因为以前安装的版本比这个新,但是因为我已经从设备和 BM 中完全清除了这个版本,怎么做它仍然知道以前安装的是哪个版本?
信息是否存储在数据库中,如果是,该信息存储在哪个表/表中?
设备是否保留了它以前安装的版本的某种记录(如果有区别,我使用 javaloader 删除了以前的版本)?
我问这个问题的主要原因是因为旧版本的应用程序不会推送到设备上,我猜是因为它仍然认为我安装了更新版本,所以我想完全擦除所有内存来自设备和 BES 的较新版本。如果我重建应用程序并为其提供更新的版本号,则推送工作正常。
有什么建议么??
为了记录,我找到了我自己问题的答案。
首先,BES 通过查看数据库中的 SyncDeviceMgmt 表并检查已经推送到该特定设备的版本号,知道需要降级。
在我的情况下,BES 甚至没有尝试将应用程序推出,即使它以前从未安装过,也没有在数据库中列出。原因是正在使用的 ALX 文件指定了 radio="GPRS",而 device.xml 文件为我使用的 8900 设备指定了 radio="GPRS-WLAN"。所以我猜它不喜欢这种不匹配,只是忽略了 ALX 文件的其余部分。
我想解决方案是将无线电更改为使用 GPRS-WLAN,但它可能不适用于其他设备。相反,我完全删除了它并且它起作用了:D