Android无卡版本与多版本管理

大部分客户都是机卡分离的,但某些特殊的网络就要求是机卡一体的(即无卡版本)。我们的基于MTK6517+CBP7.2C的方案,原本是不支持无卡版本的。最初的方案是VIA修改CDMA端Modem,只要RIL的Interface不变,理论上应该可以直接使用的。这样尝试后,发现在实验室手机连接8960可以找网被叫,但无信号显示,也无法主叫。在Android启动的时候,正常情况下会查询RUIM卡的信息,比较重要的如ICCID,但无卡版本找不到,所以上层系统会认为机器没有插卡不会打开协议栈。解决办法法是在获取ICCID的时候,添加判断,若为空则强制付个值,这样流程可以继续,信号可以正常显示。另一个问题,无法显示卡的名称,正常情况下,卡中的一个文件会记录卡默认的名称如”联通新时空”,但无卡版本获取不到,解决办法是,通过读取写入手机当中的MCC,MNC,在手机中查表匹配出对应的名称。最奇怪的一个问题,无卡版本进入设置当中的”移动网络”设置项后,会自动掉网,且不可恢复。分析代码发现,此项与网络设置当中的System Select有关,VIA结论是客户提供的PRL不规范,其中Roming Indicator全为零,应该为1才对,修改PRL后问题解决。

  我们的E760项目,GSM+CDMA(450M )己做了差不多十多个国家,缅甸,乌兹别克斯坦,乌克兰,摩尔多瓦,德国,瑞典…,基于同一Base版本,要做出大量的分支,对之后的代码修改,同步,版本编译发布管理都提出了相当的挑战,解决办法—图形化。


 
 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.