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