第一章. JAR文件包含这个程序的Java类,以及有关的其他文件诸如图像和应用程序数据(即通常所说的资源等信息)。JAR文件下的manifest.mf是描述JAR内容的清单文件。Manifest.mf文件所有可能的信息如下:
1. MIDlet-Name – MIDlet程序包的名称
2. MIDlet-Version --MIDlet的版本号
3. MIDlet-Vendor ---MIDlet的创建者或提供商
4. MIDlet-Icon ---------应用程序管理器把这个图标与 MIDlet-Name相关联, 这是一个图形文件,以 PNG图象格式储存。
5. MIDlet-Description -----描述 MIDlet的文本
6. MIDlet- 这个属性包括三段信息: MIDlet名称 /用于这个 MIDlet的图标(可选) /应用程序管理器将调用来加载这个MIDlet的类名
7. MIDlet-Info-URL -----可能提供更多MIDlet和/或供应商信息的 URL
8. MIDlet-Jar-URL---- JAR文件的 URL
9. MIDlet-Jar-Size ----JAR文件的大小
10. MIDlet-Data-Size---- 持久数据存储必需的最小字节数
11. MicroEdition-Profile ----MIDlet需要哪一种 J2ME简表
12. MicroEdition-Configuration----- MIDlet需要哪一种 J2ME配置
第二章. 六个是必须的字段,否则应用程序管理器就会拒绝加载这个JAR。
1. MIDlet-Version
2. MIDlet-Name
3. MIDlet-Vendor
4. MIDlet-
5. MicroEdition-Profile
6. MicroEdition-Configuration
第三章. Jad
1. jad是jar的描述文件。jad描述了jar的文件大小和位置。打开jad后,根据jad找到jar。
2. jad作用有很多:
a) 例如,我可以不下载jar,先下载jad(jad很小),了解一些jar的基本信息后,在决定是否下载jar.
b) jad里还可以存储一些key和value,在midlet运行的时候可能会用到。如果直接用jar运行,就得不到这些key和value.对于某些程序,就不能正常运行了。
c) JAVA游戏以及JAVA电子书都是由.JAD和.JAR两个文件组成的,其中.JAD属于说明文件,用来识别该JAVA程序是否匹配该型号手机以及手机读取时确定游戏容量(这就是为什么有时候有的游戏不能下载我们可以通过更改.JAD文件来使其可以下载的原因)而.JAR文件属于程序体文件,就是游戏本身了,.JAD文件和.JAR文件都是必不可少的
第四章. 更改jad文件的自定义属性
对于未签名软件,jad文件中的属性值优先级高于manifest文件中的值。
对于签名软件,jad文件中的属性值与manifest文件中的属性值必须相同否则在6300上面会提示无效应用软件,并无法安装,这和标准j2me文档一致。
要想随时更改签名软件的用户属性,可行的一个办法是在使用eclipse打包前jad文件不包含指定的属性字段,而是在打包后的JAD文件文件中增加该属性值,这样manifest文件中没有该属性,而只有jad文件包含相应属性。使用该方法可正常安装使用签名的j2me程序,并随时更改用户属性。
本段文章来自CSDN博客,转载请标明出处:http://blog.csdn.net/shiwubian/archive/2009/06/02/4233142.aspx
第五章. J2ME签名
当我们得到一个证书后就可以对j2me的jad文件进行签名。这里有一些与签名相关的需要注意的一些问题。
1. 想要安装签过名的软件,就必须通过jad来安装。
我们知道j2me程序生成后会有jad和jar两个文件,一般情况下我们只需要安装jar文件就可以了。例如我会将jar文件通过蓝牙传到手机上,再进行安装。但如果想通过手动安装签过名的文件,就要通过jad来安装,而且要确保jad和jar文件是在相同目录下。我的做法是通过数据线将两个文件拷入手机的内存或存储卡上,然后通过jad来安装,这样安装好的软件就是签过名的软件了。
2. 签过名的软件有什么好处。
1. 签名就是告诉我们这个软件是可信的,对用户最直接的感受就是联网或访问手机文件的时候,不会再有总是很烦人的询问用户是否允许操作的提示信息。
2. 但就我看过的手机看来,应该是不同的手机有不同的表现。例如索爱的手机关于提示仍然是需要用户自己设置的。诺基亚也是。只是诺基亚的在使用非签名软件时用户无法设置为“总是允许”或“只提示一次”。而签了名的就可以设置了。
3. 3. 编程人员需要注意,像很多功能在未签名前是可以使用的,例如gps,网络连接,文件读写,收发短信,彩信,蓝牙等,但签名后这些功能就部可用了。
4. 这就是jad中MIDlet-Permissions属性的问题。当未签名时对这个属性的要求并不严格,但签名后就一定要注意。必须把所要使用到的权限加入进去,否则这个功能就不能使用了。
5. 如下是一些常用的MIDlet-Permissions属性。
6. <attribute name="MIDlet-Permissions" value="javax.microedition.io.Connector.http, javax.microedition.io.Connector.socket,
javax.microedition.io.Connector.file.read,
javax.microedition.io.Connector.file.write,
javax.microedition.io.Connector.mms,
javax.microedition.pim.ContactList.read,
javax.microedition.pim.ContactList.write,
javax.microedition.location.Location,
javax.microedition.location.ProximityListener,
javax.wireless.messaging.sms.send,
javax.wireless.messaging.sms.receive,
javax.wireless.messaging.mms.send,
javax.wireless.messaging.mms.receive,
javax.microedition.io.Connector.sms
/>
7. 本段文章来自CSDN博客,转载请标明出处:http://blog.csdn.net/shiwubian/archive/2009/06/02/4233142.aspx
第六章. J2ME程序打包
1. 在J2ME程序开发完成以后,需要将程序打包成jad和jar文件,这个操作可以使用IDE提供的向导或者是WTK中的菜单等方式来完成,为了保证你的程序可以顺利的在手机中运行,需要注意如下一些小内容:
1)、 注意资源文件的名称,例如图片文件,是否和代码中的文件名大小写一致。因为Windows操作系统对于文件名是不区分大小写的,而手机严格区分,不然就会出现空指针异常。
2)、 如果在设置中包含了中文,例如程序的名称等,一般使用打包工具来生成,而不要自己手动去修改jad文件。
3)、 检查jar文件中是否包含一些不需要的文件,例如Windows操作系统下的隐藏文件Thumbs.db文件,这样将增大jar文件的大小。
4)、 检查是否混淆。一般混淆程序只是增加反编译的难度,但是更大的作用是减小jar文件的尺寸
本段文章来自CSDN博客,转载请标明出处:http://blog.csdn.net/Mailbomb/archive/2005/12/08/547003.aspx
第七章. 备注
n 属性MIDlet-Name、MIDlet-Version和MIDlet-Vendor 既在 JAR中的清单文件中又在 JAD文件中,这些属性的值都必须完全相同。
n 属性 MIDlet-Data-Size在JAR文件和 JAD文件中都有,当两个文件中都定义了这个属性的时候,程序运行时JAD文件中的属性将使用。
n MIDP(Mobile Information Device Profile)移动信息设备简表,提供一种标准的运行时环境,允许在终端用户设备上动态地配置新的应用程序和服务。
n MIDlet是遵照MIDP编写的java应用程序,MIDlet是定位于提供某种水平的网络连接性的移动设备。运行 MIDlet的设备也有好几个共同的属性:有限的屏幕大小,内存和处理能力,这个规范是设计来满足这些需求,典型的设备包含行动电话和呼叫器。