芯方式

保存Java文件的@java目录何时会重新生成?(11BW1224后的版本)

0
阅读(845)

[DESCRIPTION]
假设先用手机A ,插入一张T卡,然后再安装几个midlet。然后将T卡拔下来,重新插入手机B。有些时候,会发现手机
B中保留着之前手机A中安装过的应用,点击他们,一样可以正常运行。但有些时候发现手机B中只剩下默认的应用了。
请问这两种case是否正常,且分别在什么情况下产生?
[SOLUTION]来自半导体社区
这两种情况都属于正常情况。
这两种case产生区别的根本原因是:将T卡插入手机后,若T卡上之前存在@java目录,一般会将其删除,重新产生
新的;但是特定条件下会保留这个@java目录并使用它。
所以,大部分情况下我们会看到第二种情况,即将T卡插入另一个手机后,发现只有默认的default game。因为之前的
@java目录以及被删除,并重新产生了新的。
系统判断是否需要重新产生@java目录是根据软件版本号来进行判定。
假设手机A里的bin档,软件版本号为:
MAUI.11BW1308MP.W13.10:11BW1308MP COBRAS60A_DEMO:COSMOS_JAVA)
而手机B中的bin档软件版本号为:
MAUI.11BW1308MP.W13.12:11BW1308MP COBRAS60A_DEMO:COSMOS_JAVA)
那么,将T卡插入手机A中,T卡上会产生一个@java目录,此时将T卡换到手机B上,由于两个系统软件版本号不同,故系
统会删除T卡上的@java目录,并重新生成一个只包含default game的新的@java目录,此时用户在mainmenu上就只能看到default game.icfans
若手机B刷的系统与手机A完全相同,则将T卡插入手机B上之后,系统不会重新生成@java目录,此时用户在
mianmenu上会看到之前在手机A上安装的java应用,并可以正常在手机B上运行他们。
PS:检测版本号的code在jam_adaption.c的函数jam_check_and_gen_sys_file()内。
(获取版本号的API为release_verno(),release_branch(),release_flavro())