本文共 1083 字,大约阅读时间需要 3 分钟。
1、mmi_java_recv_mids_install_cnf中会将VM准备好的应用基本信息赋给变量record,最终写入z:\@Java\JavaAppFactory\java.storage_name。 2、但是上述函数在组合record.storage_name时,把mids_version(1.0.0)和mids_storage_id(0)重叠赋给了record.storage_name。 使得record.storage_name变成了(0.0.0)。 memcpy(record.storage_name,msg->mids_version, (strlen(msg->mids_version) > MIDLET_VERSION_LEN ? MIDLET_VERSION_LEN-1:strlen(msg->mids_version))); memcpy(record.storage_name,msg->mids_storage_id, strlen(msg->mids_storage_id)); 3、在srv_java_appfactory_add_record生成的文件名变成了z:\@Java\JavaAppFactory\java.0.0.0,而不是预期中的z:\@Java\JavaAppFactory\java.0。 4、因此当main menu尝试用srv_java_appfactory_get_image获取icon时,根本找不到z:\@Java\0.0.0.icon(正确文件是z:\@Java\0.icon),于是显示一朵小花。 [对比] 之所以Rolltech没有这个问题,是因为NEMO VM的storage name是类似J0000001(8个字符)的格式,第二次memcpy用正确的mids_storage_id字段覆盖了mids_version字段。 mmi_java_recv_mids_install_cnf中删掉memcpy mids_version。 memcpy(record.storage_name,msg->mids_version, (strlen(msg->mids_version) > MIDLET_VERSION_LEN ? MIDLET_VERSION_LEN-1:strlen(msg->mids_version))); memcpy(record.storage_name,msg->mids_storage_id, strlen(msg->mids_storage_id));转载地址:http://hsgdi.baihongyu.com/