`
wuhua
  • 浏览: 2115626 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

如何通过改jad和Manifest把其它手机的java游戏改成N830的

    博客分类:
  • J2ME
阅读更多

首先要明确一点,不是所有的游戏都能改的。

<2006-02-01><技术资料>

今天先发个技术资料,看懂这个技术资料就不用继续看了;不懂也没关系,我会慢慢讲解的,不过就要等一段时间了,我写得很慢得。。。

觉得有用就帮忙顶上。

以下摘抄自官方网站的N830 JavaSpec V1 (CH)

5.JAD(ADF)文件 
文字编码用UTF-8。另外下面JAD和ADF两者使用时,视为同一来表示。 
有关JAD(ADF)文件的注意事项。 
$ JAD(ADF)大小的最大值为2Kbyte 
$ MIDlet-Jar-Size的最大值为256Kbyte 
$ JAD(ADF)的记述Syntax遵循MIDP1.0。 
$ 属性名有大小写区别。 
$ 表1中规定的【必选】属性必须要设置。 
$ 同一属性名不能重复2次以上。 
$ 属性值请遵循表1的Format。属性值不能省略。 
$ 使用RMS时,MIDlet-Data-Size必须设置适当的值。(能够Manifest指定) 
$ MIDlet通信时,需要将MIDlet-UseNetwork设置为YES。 
$ 表1JAD(ADF)文件和表2(6.Manifest文件)中已与预约的属性名不能设置成任意属性。

表1JAD属性 
属性名: MIDlet-Name
属性值: 用UTF-8最大32byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: MIDlet suite标题 
!《必须》!

属性名: MIDlet-Version
属性值: 用UTF-8最大16byte(X.Y.Z格式的字符集 (0.0.0~99.99.99)) 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: MIDlet suite的版本 
!《必须》!

属性名: MIDlet-Vendor
属性值: 用UTF-8最大32byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: MIDlet suite的生产厂家名称 
!《必须》!

属性名: MIDlet-Jar-URL
属性值: 用UTF-8,最大255byte的URL(不可使用相对路径) 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时
内容: 下载Jar的URL 
!《必须》!

属性名: MIDlet-Jar-Size
属性值: 最大8byte (0~262144の値) 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 下载的Jar文件大小 
!《必须》!

属性名: MIDlet-Data-Size
属性值: 用UTF-8,最大8byte (0~10240之间的值) 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 使用MIDlet Suite时的RMS大小 
对使用RMS的MIDlet Suite,至少JAD(ADF)或Mainifest的一方是必须。
不使用的是《可选》。不指定时取为0。 

属性名: MIDlet-Install-Notify
属性值: 用UTF-8,最大255byte的URL 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 安装状态报告的发送目标地址URL(http://必须) 
《可选》 

属性名: MIDlet-Description
属性值: 用UTF-8最大512byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 应用程序的描述 
!《必须》!

属性名: MicroEdition-Profile
属性值: MIDP的版本 用UTF-8是8byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 有关指定MIDP-1.0的相关内容: 
!《必须》!

属性名: MicroEdition-Configuration
属性值: CLDC的版本 用UTF-8是8byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 有关指定CLDC-1.0的相关内容: 
!《必须》!

属性名: Media-price 
属性值: 用UTF-8最大32byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 应用程序的价格 
!《必须》!

属性名: MIDlet-UseNetwork 
属性值: 用UTF-8,YES/NO,无大小写区别,最大4byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: MIDlet Suite 是否使用网络 
《可选》。MIDlet Suite需要通信时为必须。 
不进行通信时为《可选》项。不指定时与No相同 

属性名: 任意(最大32byte字符集),最多5个 
属性值: 用UTF-8最大127byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 可以作为MIDlet的参数来使用 
《可选》。但是,ADF,Manifest 无论哪个定义的属性,当做任意属性时不能识别。

6.Manifest文件 
文字编码用UTF-8。Manifest文件的相关注意事项。 
$ Manifest的记述Syntax遵循http://java.sun.com/products/jdk/1.2/docs/guide/jar/manifest.html。 
$ 属性名有大小写区别。 
$ 表2中规定的【必选】属性必须要设置。 
$ 同一属性名不能重复2次以上。 
$ 属性值请遵循表2的Format。属性值不能省略。 
$ MIDlet-Name、MIDlet-Version、MIDlet-Vendor的属性值与JAD(ADF)文件中的设定值必须一致。 
$ MIDlet-<n> 以外的属性中Manifest和JAD(ADF)文件同时设定的情况下,JAD(ADF)的属性值优先。MIDlet-<n>
为Manifest优先。 
$ 表1(5.JAD(ADF)文件)和表2(6.Manifest文件)中已预约的属性名不能设置成任意属性。另外,JAD(ADF)文
件中设定的任意属性不能作为Manifest的任意属性。 

表2 Manifest属性 
属性名: MIDlet-Name
属性值: 用UTF-8最大32byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: MIDlet suite的标题 
!《必须》!

属性名: MIDlet-Version
属性值: 用UTF-8最大16byte(X.Y.Z格式的字符集 (0.0.0~99.99.99)) 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: MIDlet suite的版本 
!《必须》!

属性名: MIDlet-Vendor
属性值: 用UTF-8最大32byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: MIDlet suite的生产厂家名称 
!《必须》!

属性名: MIDlet-<n> 
属性值: MIDlet suite里面包含的各MIDlet的名称、类 
MIDlet的名称(Name) : 用UTF-8最大64byte 
类(Class Name): 用UTF-8で最大128byte 
不支持ICON 
MIDlet-<n>: Name,ICON,Class Name 
或者MIDlet-<n>: Name, ,Class Name 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: MIDlet的标题 
!《必须》!

属性名: MicroEdition-Profile
属性值: MIDP的版本 用UTF-8是8byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 有关指定MIDP-1.0的相关内容: 
!《必须》!

属性名: MicroEdition-Configuration
属性值: CLDC 的版本 用UTF-8是8byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 有关指定CLDC-1.0的相关内容: 
!《必须》!

属性名: MIDlet-Description
属性值: 用UTF-8最大512byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 应用程序的描述 
!《必须》!

属性名: MIDlet-Data-Size
属性值: 用UTF-8,最大8byte (0~10240之间的值) 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 使用MIDlet Suite时RMS大小 
对使用RMS的MIDlet Suite,至少在JAD(ADF)或Manifest中有一处必须设置。 
不使用的是《可选》。不指定时取为0。 

属性名: 以“MIDlet-“开头的任意属性(最大32byte字符集),最多5个 
属性值: 用UTF-8最大127byte 
值的使用的时间点: 下载MIDlet suite, AP登录,使用应用时 
内容: 可以作为MIDlet的参数来利用 
《可选》。但是,ADF,Manifest 无论哪个定义的属性,当作任意属性时不能识别。

_________________________________________________________________________

<改JAD文件>
JAD文件中必须有如下属性:
MIDlet-<n>
MIDlet-Name
MIDlet-Version
MIDlet-Vendor
MIDlet-Jar-URL
MIDlet-Jar-Size
MIDlet-Description
MicroEdition-Profile
MicroEdition-Configuration
Media-price

如有一个JAD文件的内容如下:
MIDlet-1: JBookMidlet,,JBook.JBookMidlet
MIDlet-Description: N830
MIDlet-Jar-Size: 140517
MIDlet-Jar-URL: JBook.jar
MIDlet-Name: JBook
MIDlet-Vendor: SnailStudio
MIDlet-Version: 1.0
Media-price: 0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0


我一行一行解释。
(1)MIDlet-1: JBookMidlet,,JBook.JBookMidlet


MIDlet suite里面包含的各MIDlet的名称、类 
MIDlet的名称(Name) : 用UTF-8最大64byte 
类(Class Name) 用UTF-8最大128byte 
不支持ICON 
MIDlet-<n>: Name,ICON,Class Name 
或者MIDlet-<n>: Name, ,Class Name



N830一个MIDlet Suite支持5个MIDlet,所以说n的范围是1~5,这里是1(一般都是1)
JBookMidlet是MIDlet的名称,其后有两个逗号,逗号中间应该是图标的文件名,这里没有。最后的JBook.JBookMidlet是JAVA类的名称。
[改]在这里,可以改的是MIDlet的名称(Name),改成你喜欢的名字吧,看起来也爽一些。(注意,Manifest文件中也有这个属性,要改成一样的),一般这里不会有问题的,不建议更改。


(2)MIDlet-Description: N830


应用程序的描述


[改]随便改吧(注意,如果Manifest文件中有这一项,也要改Manifest文件),一般很多其它手机的java程序的JAD都是缺这一行,加上去就好了。


(3)MIDlet-Jar-Size: 140517


Jar文件的大小,字节表示


[改]大小不对的时候再改吧,一般不需要改


(4)MIDlet-Jar-URL: JBook.jar


Jar文件的名称


[改]对应jad的jar文件名称,名称不对时再改吧,一般不需修改


(5)MIDlet-Name: JBook


MIDlet的标题


[改]可以改成喜欢的名称(注意改对应的Manifest文件),一般不需修改


(6)MIDlet-Vendor: SnailStudio


MIDlet Suite厂商的名称


[改]可以改成喜欢的名称(自己的公司?呵呵。但是要注意改对应的Manifest文件),一般不需修改


(7)MIDlet-Version: 1.0


MIDlet Suite的版本号,范围从0.0.0~99.99.99


[改]范围以内都可以,(注意改对应的Manifest文件),一般不需修改


[改]还想改??不能改啦,如果是2.0版本,不用想了,玩不了的,N830是1.0的。。


(8)Media-price: 0


价格啦。。。。我讨厌收费的!!


[改]随便改啦,我喜欢改成0(一般,对应的Manifest文件不会有这一项),一般很多其它手机的java程序的JAD都是缺这一行,加上去就好了。



(9)MicroEdition-Configuration: CLDC-1.0
(10)MicroEdition-Profile: MIDP-1.0


最后两个一起说啦,CLDC版本和MIDP的版本


 



综上,一般只需要在JAD文件中加上MIDlet-DescriptionMedia-price两个属性。

_________________________________________________________________________

Manifest文件

Manifest文件必有属性:


MIDlet-Name
MIDlet-Version
MIDlet-Vendor
MIDlet-<n>
MicroEdition-Profile
MicroEdition-Configuration


MIDlet-Description属性,在N830的java规范中,指定Manifest中是必须的,但是实践证明,这个属性可以不包涵在Manifest中!!


这些属性和JAD文件中的一样,就不多说了。只要记得属性值和JAD中的保持一致就好了。


接下去就是实际动手修改了。
(1)只想改jad和manifest的,可以只安装WinRAR。
(2)想更进一步了解原理,进行修改的,建议继续安装 JDK1.5 , N830 SDK , WinHex
(3)再进一步就要涉及到修改游戏的class文件了,建议继续安装java反编译软件,nokia的com包支持库,索爱的支持库。

今天先到这里,有空就开始写实例教程了。

分享到:
评论

相关推荐

    Java程序创建Manifest文件

    当我们需要运行一个与其他jar文件有关联jar文件时,如果jar文件里面的MANIFEST.MF文件没有配置好,那在运行时就要报异常:Exception in thread "main" java.lang.NoClassDefFoundError。原因:未找到关联jar文件里面...

    SP安装JAVA游戏改中文名的方法.doc

    标题和描述中提到的是关于如何在SP设备上安装JAVA游戏并将其名称改为中文的方法。这个过程涉及到对JAD和JAR文件的修改,这两个文件是J2ME(Java 2 Micro Edition)应用程序的关键组成部分。 JAD文件是Java应用程序...

    java程序jad生成器

    Java程序jad生成器是一种工具,专门用于将Java应用程序的.JAR(Java Archive)文件转换为.JAD(Java Application Descriptor)文件。这种转换是必要的,因为某些支持Java的移动设备不直接支持.JAR格式,而是需要.JAD...

    JAVA游戏软件修改大全.docx

    【JAVA游戏软件修改大全】 在JAVA游戏领域,无论是娱乐还是技术探索,修改游戏软件往往能够带来独特的乐趣。本文主要介绍了如何在SMARTPHONE上修改JAVA游戏,涵盖了基础准备、实战操作等多个方面,旨在让读者了解...

    JAVA游戏分辨率修改软件--教程

    JAVA 游戏分辨率修改软件使用教程 本教程将指导用户如何使用 JAVA 游戏分辨率修改软件来修改游戏的分辨率,以使其在不同设备上运行时能够正常显示中文。同时,本教程还将介绍如何正确地使用软件,避免常见的错误和...

    hhclass汉化 用来修改MANIFEST.MF

    hhclass汉化工具是一款专为Java开发者设计的工具,用于修改和汉化JAR文件中的MANIFEST.MF内容。它使得开发者能够更方便地处理国际化问题,特别是在中国地区,确保软件界面和配置文件能够以中文形式呈现,提供更好的...

    教你认识手机JAVA程序JAR和JAD文件.docx

    这两个文件在Java功能的手机应用、游戏和电子书中非常常见。理解它们的作用对于安装和管理这些程序至关重要。 .JAR(Java Archive)文件是程序的主要组成部分,它包含了Java类、图像、应用程序数据等资源。在.JAR...

    MANIFEST.MF 文件内容详解(转)

    总结来说,MANIFEST.MF文件是Java JAR文件的核心组成部分,存储了应用程序的关键信息,包括主类、依赖和其他元数据。理解和正确配置这个文件对于创建和部署Java应用程序至关重要。通过阅读指定的博客文章,开发者...

    JAR和JAD学习总结

    Java Archive (JAR) 文件是Java平台上的一个特殊文件格式,用于封装多个Java类、资源文件(如图像、音频)和其他相关数据。JAR文件的主要目的是为了方便分发和存储Java应用程序或库。JAR文件通常包含一个名为`...

    MANIFEST文件配置

    **MANIFEST 文件** 和 **JAD 文件** 在 Java Mobile 应用开发中起着至关重要的作用。MANIFEST 文件提供了 JAR 文件的基础配置信息,而 JAD 文件则是为了提高兼容性和安全性而存在的。通过合理配置这两个文件,开发者...

    apk 反编译 改版本号 改游戏名称 改权限 改AndroidManifest 改java代码

    3. **改版本号**:在AndroidManifest.xml中,可以找到`&lt;manifest&gt;`标签内的`android:versionCode`和`android:versionName`属性,修改这两个值可以改变应用的版本号,这对于更新跟踪和市场区分不同版本很有用。...

    JAD文件生成器-自动生成JAD

    2. **资源描述**:JAD文件可以列出应用程序所需的所有外部资源,包括图片、音频和其他文件,确保应用在设备上能正常运行。 3. **设备兼容性**:对于不支持直接安装JAR的设备,JAD文件提供了必要的适配信息,使应用...

    pom.zip_java maven_pom mainfest java_pom manifest 标签_pom 文件 mani

    在Java开发中,Maven是一个广泛使用的项目管理工具,它帮助开发者构建、管理和部署Java应用程序。Maven通过使用一个名为`pom.xml`的项目对象模型(Project Object Model)文件来定义项目的配置和依赖关系。在`pom....

    java调用大漠插件源码,绑定游戏柄口,进行后台操作

    描述中提到“绑定游戏柄口”,这通常是指通过Java程序与游戏控制器进行通信,允许用户通过游戏手柄进行操作,同时这些操作可以通过大漠插件在后台执行。这意味着用户可以隐藏或最小化应用程序,而程序仍然可以继续...

    MANIFEST.MF 读写操作

    MANIFEST.MF 文件是 Java 应用程序和库的核心组件,特别是在创建 JAR 文件时。它包含关于 JAR 文件的元数据,如主类、版本信息、依赖库和其他重要属性。在本文中,我们将深入探讨如何在 Java 中读取和写入 MANIFEST....

    jar转jad的文件

    总结来说,`.jar`到`.jad`的转换是为了适应Java ME环境下的应用部署,通过`JADgen`这样的工具,开发者可以方便地创建包含必要元数据的`.jad`文件,确保Java应用程序能够在各种移动和嵌入式设备上顺利运行。

    200多个JAVA经典游戏源代码和资源及JAR包及说明

    通过分析JAR包,你可以研究如何构建和打包一个完整的Java应用,以及如何使用Java的类路径和manifest文件来指定程序的入口点。 标签“文档”暗示了这份资源可能还包括了关于游戏设计和实现的说明文档。这些文档可能...

    Java吃豆游戏 源代码

    【Java吃豆游戏 源代码】是...通过阅读和分析源代码,开发者不仅可以学习到游戏开发的基本技巧,还能深入理解Java语言的特性和应用。对于初学者来说,这是一个极好的实践项目,可以提升编程技能并体验游戏开发的乐趣。

    jar游戏修改工具JavaMagic

    JavaMagic是一款专为修改JAR格式游戏设计的工具,它主要面向的是早期的Java平台,如J2ME(Java 2 Micro Edition),这个平台广泛应用于早期的智能手机和平板电脑。在那个时代,许多游戏都是以JAR文件的形式存在,这...

    由jar生成jad的生成器

    Java Archive (JAR) 文件是Java平台上的标准归档格式,用于封装多个类文件、资源文件和其他相关文件。它在Java应用程序中广泛使用,尤其是在创建可执行的Java应用程序或库时。相反,Java Application Descriptor ...

Global site tag (gtag.js) - Google Analytics