JAD安装流程总结如下:
安装流程(以Symbian系统,就是我们常见的Nokia 60 系统为标准,其它系统请参考):
用户一般选择一个JAD文件,来初始化一个安装器Installer。这个可能发生在用户点击一个Web或者Wap的浏览器里一个JAD连接,或者一个email附件,或者通过别的传输方式传到手机里的JAD文件。例如,通过红外,蓝牙等等。 无论那种情况,Symbian系统里识别器Recogniser 确保当点击一个JAD文件时,安装器Installer正常启动。JAD文件被下载,然后被解析,JAD包含安装所需要的信息,在安装过程中。安装器:
1. 无指定顺序的执行以下检测:
l 检测MicroEdition-Configuration 和 MicroEdition-Profile 属性,如果存在,MIDlet Suite所需要的版本(在JAD中已指定)就要和手机支持的版本比较,并且,如果不支持,用户就要被通知,安装器不在继续操作。
l 显示软件的详细信息给用户,并提示用户是否进行安装(Nokia S60的机器一般都有这个确认过程,详细信息包括MIDlet-Name,Version,Vendor之类的信息。
l 把Jad中的MIDlet-Name, MIDlet-Version, 和MIDlet-Vendor属性和所有安装在手机上的MIDlet Suite的相应属性,如果MIDlet-Name和MIDlet-Vendor和某一个已安装的一样,就需要提示用户是否要覆盖存在的版本。
2. 给用户一个选择,那个驱动器将要安装MIDlet,并给予用户可选项,是继续,还是取消安装。MIDlet-Jar-Size, 和 MIDlet-Data-Size用来显示信息给用户它所需要的磁盘空间数量。
3. 然后检测MIDlet-Jar-URL属性,这个安装流程支持HTTP:// 和 File:// (默认的是这个,我们一般不在这个里指定文件传输协议)。如果URL不是其中形式之一,用户就要被通知:无效的下载位置,安装器将停止。
4. 然后从指定的位置下载JAR文件,然后把它放到手机里。
5. 然后解析下载的JAR里的Manifest文件,检查MIDlet-Name, MIDlet-Version, 和 MIDlet-Vendor属性。是否和JAD中的一样,如果不一样,用户就要被通知,JAR和JAD文件就要从手机里删除,安装器将停止
注意:MicroEdition-Profile 和 MicroEdition-Configuration属性在JAD中是可选的,但是在JAR中是必须有的。
6. 拷贝JAD和JAR文件到/System/MIDlets/[uid],uid是在安装过程由系统生成的唯一标识符。
7. 如果更新安装失败,前一个安装的版本继续使用。
常见问题有:
1. 最初安装时错误:注册失败,安装失败,空间不足,无效地址,服务丢失:
Java程序安装完毕,或者安装过程中,以及删除,都要有一
个报告发出,这个发出一般是通过JAD中的几个属性来实现的,
MIDlet-InstallNotify,MIDlet-DeleteNotify.
一般常见状态码大概有13种,这个Status Code就是安装过程为什么手机要联网,因为它要把这个报告发出去,一般这个过程中如果有问题,请仔细检查JAD文件
Status Code |
Status Message |
900 |
Success |
901 |
Insufficient Memory |
902 |
User Cancelled |
903 |
Loss of Service |
904 |
JAR size mismatch |
905 |
Attribute Mismatch |
906 |
Invalid Descriptor |
907 |
Invalid JAR |
908 |
Incompatible Configuration or Profile |
909 |
Application authentication failure |
910 |
Application authorization failure |
911 |
Push registration failure |
912 |
Deletion Notification |
2. 当下载过程完毕后的错误
如果此时有问题,就需要检查JAR中的Manifest文件中的属性和JAD中的属性,仔细检查。
3. 还有就是签名问题,有的应用,比如访问敏感API如JSR-75,或者需要授权才能操作的一类操作时,一般就需要对JAR签名验证,这个也是会造成很多安装错误的原因