Posts Tagged ‘OTA’

BlackBerry的伪OTA安装-JAD、COD以及ALX

二月 9th, 2009

直对Blackberry不够开放的系统小有不满,特别是离线安装的时候往往需要的是alx+cod(通过DM),特别是某些时候新发现一个不错的软件,供应商未必就会(一般不会-_-)提供出alx和cod,所以直接使用OTA是一个选择。

1. 什么叫OTA

所谓OTA,就是Over-The-Air,指的是手机直接下载;更直白一点,就是利用手机自带的浏览器在网络上进行软件的下载和安装;

大部分的软件,特别是网络相关的软件,OTA都是主要的提供方式——运营商更是愿意见到这样的情形… …

但是至少目前来讲,OTA对我们来说不是一个特别理想的方式:
一是受困于不稳定的GPRS速度;
二是心疼流量(虽然有一定的包月量,但是用来下软件也太浪费了);
三是如果是7系列的BB,自带浏览器的激活也是一个很让人头疼的问题;

综上所述,显然也有这样的需求,那就是将在线的OTA变成利用电脑网络下载文件,然后在电脑上通过桌面管理器来安装。

在此之前,我们首先要知道,如果要离线安装我们需要几个什么样的文件,他们各自是做什么用的;

2. JAD, COD(JAR)和ALX

那我们按照整个处理过程中可能接触到的文件的顺序来谈吧:

首先,JAD文件,这个是当你使用黑莓浏览器或者伪装后的其他浏览器去直接下载得到的文件,其实,这个只是一个安装索引罢了。你使用写字板、vim之类的打开,就会发现这里只是列举了对于安装可能有用的信息,而手机在打开这个文件之后,就能按图索骥的继续下载安装其他的内容了,这里最主要的就是找到实际安装的COD或者JAR文件;

以Google sync为例,我们首先可以利用Firefox+User Agent Switcher来化妆成手机-_-去下载,方法见链接;

然后我们看看JAD的内容,限于篇幅,我们直接搜索cod/jar关键字:

MIDlet-Jar-URL: http://m.google.com/sync/apps/0.5.13/en/BlackBerry-41/GoogleSync_40_en.cod
RIM-COD-URL-0: GoogleSync_40_en.cod
RIM-COD-Size-0: 112292
RIM-COD-URL-1: GoogleSync_40_en-1.cod
RIM-COD-Size-1: 93324
RIM-COD-URL-2: GoogleSync_40_en-2.cod
RIM-COD-Size-2: 53104

这些就是我们要下载的内容,后面的部分是相对路径,只需要把最开始的地址末尾一一换掉就能下载到所有的cod文件,有些时候,这里会是jar。

然后,离线安装的时候,就要使用ALX文件了,这个文件相当于在本地安装时的一个索引文件,按照某文的说法,是很没有技术含量的一个文件,得到模板如下(源于参考文献2):

<loader version=”1.0″>

<application id=” XXXXX “>

<name>XXXXX</name>

<description>XXXXX</description>

<version>X.X.X</version>

<vendor>XXXXX </vendor>

<copyright>Copyright (c) 2001-2007 All Rights Reserved. </copyright>

<fileset Java=”1.0″>

<files>

XXXXX.cod

</files>

</fileset>

</application>

</loader>

id和name就是这个程序的名字,瞎写好了(不过仅限字母、数字);vendor、version分别是版本号和供应商,照样可以随便写;最关键的files就不能乱写了,这里就填这个软件需要的cod文件名了,同样是相对路径,所以如果把刚才下载的文件都放在alx的同一个目录下,那么只需要填写名字就可以了,多个名字用空格分开。

剩下的事情,就是用alx和cod的文件去安装程序了,这个就纯粹是Destop manager软件操作了,非常基本,不做赘述了。

参考文章

如何获取手机软件的真实下载地址

ALX与JAD文件详解

鸣谢——