Java程序完成以后 对于Windows *** 作系统 习惯总是想双击某个exe文件就可以直接运行程序 现我将一步一步的实现该过程 最终结果是:不用安装JRE环境 不用安装数据库 直接双击一个exe文件 就可以运行程序
下面我将以我最近写的一个程序作例子 进行该打包过程
该程序是使用了:Hibernate Spring Derby的Java GUI (JDK需要 版本 因该版本才有Derby) 我使用的是Eclipse进行开发
第一步:完成Java GUI程序
在Eclipse下 程序能够正常运行
第二步:准备清单文件(MANIFEST MF)
方法 :直接拷贝其它能运行的JAR文件中的MANIFEST MF进行修改
方法 :利用IDE工具 如Eclipse在生成JAR文件时自动生成
MANIFEST MF内容如下:
Manifest Version:
Main Class: manager ui MainFrame
Class Path: /lib/spring jar /lib/hibernate jar /lib/derby jar
SplashScreen Imager: manager/resources/images/splash jpg
说明:
Manifest Version - 指定清单文件的版本号
Main Class -指定程序运行的入口类 注意 类名后不要加class扩展名
Class Path -指定支持库的路径 指程序运行目录 即导出的JAR包所在目录 程序运行时依据Class Path项的设置路径来查找支持库 每一个支持库之间用空格隔开 在这里使用了hibernate spring derby
注意:
如果Java应用程序用到了一些Eclipse包 那么就必须将这些包也复制到程序运行目录 设置到Class Path 否则程序将无法运行 引用了一些外部组件也需要如此设置 如hibernate spring derby
除了入口类的包名和类名之外 其他设置项都不分大小写 比如 Class Path写成class path或CLASS PATH也可以 swt jar写成SWT JAR也行
类名后不要加class扩展名
每一行的 : 后都有一个空格 如Class Path:<空格>/lib/spring jar
Class Path中 引入的JAR文件每行不得超过 个 否则会报错 但在让人意外的是每行只有前 个有效 故将所有同类型的JAR文件做成一个JAR文件 如我这里的spring jar hibernate jar derby jar都是同类JAR文件的组合
第三步:修改spring配置文件
在spring的 sessionFactory bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)
<property name= mappingLocations >
<list>
<value>manager/entity/MyFile hbm xml</value>
<value>manager/entity/FileType hbm xml</value>
</list>
</property>
第四步:使用Eclipse生成JAR文件
右键单击项目名 在d出菜单中选择 Export 在d出的如下图所示的对话框中 选择 JAR文件 单击 Next
将右边不需要的文件都取消勾选 在 选择导出目标(Select the export destination) 项文本框中设置JAR包的输出路径和包名(可以任意取名)为 D:\manager\manager jar 接受其他的默认设置不变 单击 Next
附注 左边虽然选择了src目录 但源文件并不会导出到包中 除非勾选了 导出Java源代码文件和资源(Export java source files and resources) 项
接受默认设置不变 单击 Next
这一步较关键 如下图所示 选择 从工作空间中使用现有清单 项 将创建的清单文件输入 也可以通过旁边的 浏览 按钮来选择清单文件 输入清单文件后 单击 Finish Eclipse开始将项目打包
附:这里也可以选择Generate the manifest file 但生成的清单文件MAINFEST MF需要修改
注意:清单文件MAINFEST MF一定要按第二步那样设置
生成的JAR文件目录如下:
第五步:生成运行manager jar的批处理文件manager bat(该步可以不要)
在manager目录下创建一个批处理程序manager bat(名字任取 扩展名必须是bat) 其内容仅一句语句 如下
javaw jar manager jar
说明
javaw对应c:\jdk\jre\bin\javaw exe文件 如果windows提示命令未发现 则需要将c:\jdk\jre\bin路径加入到windows环境变量path中
在运行程序的时候有一个讨厌的黑色命令行窗口 要去掉它 可以将run bat内容更改如下 start javaw jar manager jar start是指调用了windows的 运行 命令
在后边加一个pause就可以让你看到具体哪里出错了 如:
start javaw jar manager jar
pause
双击manager bat 就可以运行该JAR文件了
第六步:让电脑不必安装JRE环境 也能运行
通常运行Java程序有个前提条件 用户电脑必须先安装JRE环境 虽然安装JRE环境非常简单 但毕竟多了一步 算是有一点点的瑕疵 这里给出一个不必让用户安装JRE环境的方法 其实现步骤如下
( )将原JDK中的 jre 目录复制到 D:\manager\java 目录下(java也可换成其他名称)
( )将JDK和JRE从本机卸载掉 这样表示本机没有安装JAVA运行环境
( )修改批处理文件manager bat中的命令为 start java\jre\bin\javaw jar manager jar 仅仅是在javaw前加上了一个相对应路径
双击manager bat即可在不安装JRE环境的电脑运行此Java应用程序
第七步:抛弃批处理文件(* bat) 生成exe文件
用批处理文件运行程序似乎不够专业 虽然它足以完成运行任务 但习惯就象一种毒药一旦染上就很难摆脱它的影响 Windows统治下的人们早已经习惯运行扩展名是EXE的程序 用* bat他们就会感觉别扭
我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序 JavaLauncher的下载网址是
下载下来的文件是一个名JavaLauncher zip的压缩包 解压后的目录结构如下所示
JavaLauncher zip目录结构
source 目录包含了JavaLauncher的源程序 是用C语言写的
changes txt 是新版的修改说明
launch exe 是主程序
launcher cfg 是配置文件
readme txt 是一些说明和示例
我们只需要launch exe launcher cfg两个文件 将这两个文件复制到打包文件所在的目录 launcher cfg是一个仅三行内容的文本文件 将它修改如下
\java\jre\bin\javaw exe
jar manager jar
第一行设置指向JAR包managger jar的目录 由于launch exe和myswt jar同在一个目录 所以用 即当前目录
第二行设置指向jre\bin\javaw exe的路径 在上面已将jre目录复制到了java子目录中
配置好launcher cfg后 双击launch exe即可运行java应用程序
如果仔佃研究eclipse的启动方式 发现eclipse和JavaLauncher的原理一样 eclipse exe相当于launch exe startup jar相当于manager jar 只不过eclipse exe不象launch exe要具有通用性 所以它没有* cfg这样的配置文件 而是将启动信息固化在eclipse exe中
第八步:美化图标
launch exe文件的图标太单调了 让我们给它换个好看点的 换程序的图标需要用到一个免费的软件 Resource Hacker
第九步:最后的打包
发送给用户之前 通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包 然后用户得到这个压缩包后 将其解压缩后即可运行程序 Eclipse软件就是这种方式
lishixinzhi/Article/program/Java/hx/201311/25574Window$ XP 采用了全新的主题管理内核,其功能非常强大,能够实现的效果非常炫目,但是居然不支持非官方的桌面主题,Plus!里那几个简单 的主题不用几天就看腻味了,所以,要想使用第三方的主题,就必须通过非官方的办法来解决。
一. 必备的软件
1. Style XP
官方网站www.tgtsoft.com
下载2.14 XP SP2版本 点击下载
汉化文件 下载
Style XP 是一个第三方的XP桌面主题支持和管理软件,也是目前最好的。它使用的是 Windows XP 的主题内核,并且强化了很多功能,可以导入、选择、更换和管理官方的和非官方的桌面主题、壁纸甚至登陆界面。
该软件安装之后会在XP中添加一个后台运行的服务 StyleXP Service,占用3-7MB的内存,这个服务也就是能够使用第三方主题的基本。另外,它的主程序可以选择两种运行方式,一种 是保持运行在系统托盘里,这种模式在系统托盘里有一个StyleXP的图标,随时可以点击调出主界面;一种是不消耗资源的方式, 主程序平时不运行。建议大家选择第二种方式,因为这个主程序运行起来可不秀气,占用内存到10-20MB。实际上第二种方式也可 以随时运行主程序来管理主题。
2. UxTheme.dll 软件 (附件提供,请没有一定电脑基础用户谨慎使用)
UxTheme.dll 就是XP系统主题支持的核心文件,也就是它让XP无法使用第三方主题。如果你不想安装 StyleXP,那么你可以通过破* UxTheme.dll 文件来达到目的。实际上, UxTheme.dll 修改就是推出 StyleXP 的 TGT Soft 在爱好者的强烈要求下放出来的,MicroSoft 好像也默认了这种行为,呵呵,真是难得。使用 UxTheme.dll 修改版之后,无需任何其他的软件你就可以在XP的显示属性中管理和调用第三方的主题和风格。
下载 UxTheme.dll 软件之后,先将 X:\WindowS\System32\UxTheme.dll 重命名,例如改成 UxTheme.dll.bak ,然后将软件的复制过来,重新启动即可。注意,这里还牵涉到 WindowS XP 的系统文件保护.
二. 桌面主题的构成
一个XP的桌面主题可以包含好几个部分,风格、壁纸、屏保、鼠标指针、系统声音事件、图标,除了风格是必须的之外,其他部分都是 可选的。风格可以定义的内容是大家在Window$里所能看到的一切,例如窗口的外观、字体、颜色,按钮的外观等等等等,一个桌 面主题里风格就决定了大家所看到的Window$的样子。
大家可以打开 X:\Window$\Resources\Themes 目录,这个目录就是XP中存放桌面主题的目录。你能看到有很多 xxx.theme文件,你在显示属性的“主题”列表里看到有多少个主题里就有多少个 .theme 文件,它就是Window$主题文件,一个桌面主题的总定义文件,它的内容不多,是文本格式的,以XP的默认官方主题 Luna 为例,大家用任何一个文本编辑器打开 Luna.theme ,可以很直观的看到其内容。
[Theme] 部分是定义我的电脑、我的文档、网络邻居以及回收站这几个主要部件的图标,Luna.theme 中 My Computer 定义的图标就是 X:\Window$\explorer.exe,0 ,也就是 explorer.exe 中包含的第一个图标,没有包含特定图标的主题这里一般都是这个值。这里即可以指向程序文件,也可以指向DLL文件或者图标文件。
[Control Panel\Colors] 部分定义的是各个Window$部件如标题栏、窗口背景、文字等的颜色,这里定义的颜色大部分时候是无关紧要的,因为系统会优先 按照色彩方案中的配色显示,这在后面的部分会讲到。
[Control Panel\Cursors] 定义的就是鼠标指针了,每一行定义一个指针文件,例如 Arrow 定义箭头光标,Wait 定义等待光标。Luna中这里是空的,代表使用Window$默认的鼠标指针,这里的定义必须是具体的 .cur 光标文件或者 .ani 动画光标文件。
[Control Panel\Desktop] 定义桌面的显示,包括壁纸图片的位置,显示方式,以及是否激活屏保。Luna中的 Wallpaper=%WinDir%web\wallpaper\Bliss.bmp 就是大家看得最多的“菜地蓝天”了 。这里的 ScreenSaveActive=X 和下面的 [boot] 部分 SCRNSAVE.EXE=XXX 是对应的,前者管是否允许屏保,后者是屏保的具体地址。
[VisualStyles] 就是最关键的部分了,这里指向的就是一个桌面主题的核心部分: .msstyles 可视化外观风格文件,Luna中指的就是 Path=%WinDir%resources\Themes\luna\luna.msstyles ,后面会讲到。再往下走就是定义声音事件的了,和我们在 控制面板 → 声音和音频设备 → 声音 中设置的项目是一样的。
一般来说一个完整的主题基本文件结构就是一个 .theme 文件和一个放置风格文件等其他文件的文件夹,在 [VisualStyles] 部分可以找到这个文件夹的名字。了解了 .theme 文件的结构之后,大家就完全可以按照自己的喜好编辑了,只是要确认所有文件的指向都必须是有效的,否则主题无法使用。
需要说明的是, .theme 文件不是必须的,.msstyles 风格文件才是。因此,有些主题只有 .msstyles 文件,没有 .theme 文件,一样可以照常使用。只是在显示属性的主题列表中是看不到的,必须到“外观”中才可能看到。
三. 桌面主题的使用
上面已经讲了主题的基本文件结构,在了解了文件结构之后再谈安装主题就容易多了。
大家从网上下载的桌面主题各式各样,有的只有几百KB,有的可能有几十MB,就是因为它们所包含的内容不一样。有的只有一个 .msstyles 风格文件,有的带了几个色彩配置文件,有的带了 .theme 文件,有的带了鼠标指针、壁纸、声音事件等,笔者甚至见过一个包含了所有内容压缩之后都有上百MB的巨型桌面主题。 :eek: 非常夸张~~
下面就讲讲各种不同的主题该如何安装。
给大家一个小提示,在正常的情况下 .theme 文件和 .msstyles 文件都是有系统默认文件关联的,也就是说双击这两种文件系统都会自动在显示属性中打开,大家可以利用这一点在安装之前先预览该主 题或者风格,当然,如果主题还包扩了其他文件的话就要注意其他文件的路径是否对头了,否则是无法正常预览的。
第一种情况:有 .theme 主题文件
这种情况是最容易安装的了,只要保持原主题的目录结构,将 .theme 文件和文件夹复制到 X:\Window$\Resources\Themes\ 目录下就完成安装了。举个最简单的例子,大家在网上下载了一个主题,假定这个主题名叫“Naco”,那么安装后应该是这样的目录 结构:
X:\Window$\Resources\Themes\Naco.theme (可无)
X:\Window$\Resources\Themes\Naco\Naco.msstyles
X:\Window$\Resources\Themes\Naco\Shell\xxxx\shellstyle.dll (可无)
.....................
复制好之后然后在桌面上点击右键,选择“属性”打开显示属性窗口。因为有 .theme 主题文件,所以在主题列表中可以看到该主题,选择主题名称,点击应用,Window$就会自动切换到该主题的显示了。如果这个主 题有多个色彩方案的话,打开“外观”,在“色彩方案”列表中可以看到可选的色彩方案,选每一项内容都将在上面的预览框中显示实际 效果。
第二种情况:没有 .theme 主题文件
还是这个例子,假定主题名叫“Naco”, 这个主题只有一个 Naco.msstyles 风格文件和 一个 shell 文件夹,shell 文件夹下面有几套色彩方案,或者连 shell 文件夹都没有,那么首先请在 X:\Window$\Resources\Themes 目录下建一个子目录,名字一定要叫做“Naco”,前面说过了,这个目录的名称一定要和风格文件名相同,然后将 Naco.msstyles 文件和 Shell 目录复制到这个子目录里,目录结构是这样的:
X:\Window$\Resources\Themes\Naco\Naco.msstyles
X:\Window$\Resources\Themes\Naco\Shell\xxxx\shellstyle.dll (可无)
.................
打开显示属性窗口。因为没有 .theme 文件,所以在主题列表中是看不到“Naco”主题的,所以要到“外观”页去,正常的话你应该在“窗口和按钮”列表中能找到“Na co”这一项,这里实际上就是风格的列表了。选中“Naco”,如果这个风格有多个色彩方案,那么在下面的色彩方案列表中就会有 多于一项内容,选每一项内容都将在上面的预览框中显示实际效果。点击右下方的应用,就能够将风格和色彩方案应用到当前的Wind ow$了。
前面已经讲过了 .theme 是总定义文件以及它的结构,所以,大家可以自己创建一个 .theme 文件来针对没有 .theme 文件的主题。 在“外观”的“窗口和按钮”中选择没有主题文件的风格,点击应用,此时Window$将切换为新指定的风格,切换到“主题”页, 此时主题列表中会显示为 XXX(更改) ,点击“另存为”,将新的 .theme 文件保存到 X:\Window$\Resources\Themes\ 目录里去,当然这里你也可以保存到任何位置,只是保存到系统的目录将更加便于管理。保存之后你就已经建立好一个新的主题了,以后 只要选择这个新建的主题就可以使用相应的风格。
在这里有一个技巧,看过第二节就知道,.theme 文件里是有很多定义部分的,所以,在保存 .theme 文件的时候会将当前系统使用的墙纸、鼠标指针、图标、屏保、声音等各种定义全部保存到新建的这个主题文件中间去,因此,大家完全 可以不需要去手动编辑 .theme 文件的各项定义,而直接利用这个技巧建立自己个性化的主题。譬如,你可以先将桌面墙纸设为自己最喜欢的图片,调出自己最喜欢的鼠 标指针,使用自己最喜欢的声音事件和屏幕保护等等等等,将各个部分调整好之后,“保存为”一个新的主题文件,这样,以后只要选用 这个主题文件就能够一步到位了。 当然,必须注意的是因为在保存主题文件的时候各种资源都将使用绝对路径,例如鼠标指针和声音文件的引用位置是来自于另外一个主题 的目录,因此,一旦某一个文件的实际位置发生了变动,那么再用这个主题的时候Window$就会因为找不到主题里的文件而提示出 错,因此,最好的办法是建立一个不容易变动的目录放置这些需要用到的文件,然后再建立主题文件,就不容易发生错误了。
四. 桌面主题应用的延伸:图标
使用主题较多的朋友会发现很多桌面主题里面包含了Window$主题之外的内容,例如很多很漂亮的成套成套的图标,但是不管怎么 切换主题总是没看到这些图标在系统中出现(除了少数几个能够在 .theme 文件中定义的之外)。实际上,这是因为 Window$ 主题并不支持图标主题的使用。而这些成套的图标集,一般都是要用到另外的软件来使用的。
在这里,就要给大家推荐一个应用比较广泛的图标主题软件:IconPackager。现在发布的包含有图标主题的Theme中, 最常见的就是 IconPackager 图标主题了。
官方网站
IconPackager 是一个集图标管理、图标转换、图标主题制作为一身的强大Window$图标主题工具,从软件名称就知道,它最大的功能就是图标包 的应用上。很多XP桌面主题包里所带的图标集都会加入IconPackager图标主题定义文件,能够用IconPackage r打开,很方便地一次性替换所有图标。这种替换方式对系统没有任何影响,实际上只是在Window$的图标缓存中进行替换,随时 可以恢复。下面就简单介绍IconPackager以及它的图标主题的用法。为了方便,下面简称 IconPackager 为 IP。
先做个名词解释
[quoted=.icl 文件]ICon Library (图标库)的简称,一种使用图标编辑软件(例如 Microangelo)制作的16位Window$ DLL库文件,只不过后缀名不同而已,专用于图标的打包使用,里面除了图标什么都没有,优点是能够将大量图标压缩成一个文件便于 使用和交流,而且不需要解包就可以直接使用里面的图标。Window$ XP 默认就支持这种图标库格式。[/quoted]
IP 格式的图标主题有两种发布方式,第一种也是最常见的方式是 图标 + .iptheme 定义文件 的形式,这种形式发布的图标主题一般都在一个单独的目录中,图标可能是一大堆 .ico 文件,也可能是单个的 .icl (上面解释啦)图标库文件,还有一个最重要的 .iptheme 文件。
.iptheme 是IP专用的图标主题定义文件,就像第2节里说的 .theme 主题文件一样,也是文本格式,可以用任何文本编辑器打开,它的内容一看就懂。
[Software Info] 部分是IP软件的说明,不用管它,下面的 [Package Info] 就是图标内容的定义了,例如:My Computer=%ThemeDir%02.ico 意思是“我的电脑”的图标定义为图标主题目录下的 02.ico 文件,前面是系统中某个显示图标的位置,后面是具体定义的图标文件。也可能是:My Computer=%ThemeDir%01.icl,1 ,这样的定义指向的就是一个 .icl 图标库文件,在逗号后面跟的数字1就是指图标库文件中的第一个图标。
如果你的系统中安装了IP,只要双击 .iptheme 文件IP就会自动启动然后打开这个图标主题,再点击IP窗口左边的“Icons &Cursors”,就可以在右边看到该图标主题内定义的各种具体图标了,分为桌面、开始菜单、文件夹、驱动器、其他、文件类型、 鼠标指针、快速启动栏等八个类,基本涵盖了Window$中所有的图标,甚至是很多第三方软件的文件格式一样找得到。对于不满意 的图标,双击图标项就可以更改,或者选中图标项之后点击右边的 Change... ,找到想要的图标确认就会在IP中载入了。点击右下方的 Apply 即可应用当前的图标主题,稍等几秒系统的图标主题就替换完成了。所替换图标的多少由图标主题中包含的图标多少来决定,如果图标主 题图标类型很全的话,基本上整个系统内的图标变得都会让你认不出来了。要注意的是在IP中图标定义是绝对路径,也就是说IP中定 义好的图标一旦 .ico 文件或者 .icl 文件被移动了,在IP中就无效了。
IP的另一种主题发布形式是单独的一个 .ip 文件,这个文件是IP专用格式的图标压缩包,里面包括了该图标主题中的图标文件以及IP的图标主题定义文件,用其他软件是打不开 的,使用起来和 .theme 一样,只要双击就会在IP中载入,不过IP会先将这个压缩包解压到自己安装目录中的 themes 目录下再载入,原来的 .ip 文件位置不会影响到图标主题的使用。
[提醒:因 *** 作系统的多样性,不保证所有设置能生效!]
桌面主题应用的延伸:系统文件的修改
谨慎 *** 作
其实有很多的UI是保存在一些可执行文件里的(.exe .dll .ocx等),比如按钮图标、动画、菜单文字、程序和对话框的布局等等,编辑这些文件可以让你随心所欲的改变你的Window$ *** 作界面,这并不像想象中的那么难。
1. 备份!既然是系统文件,相信大家都不敢随便删掉的,所以一定要做好备份工作,而且还应当清楚的标明该文件的地理位置。一旦修改失 败,立即启动到DOS,还原备份文件。再有就是,一个好的习惯就是改完一个文件,就备份、覆盖、重启、检验,再改下一个,最忌的 是改了一堆文件,同时覆盖,结果出了问题,却不知道到底是哪个文件改坏了。请记住:在编辑任何系统文件之前,备份之!
2. 工具!我会尽量介绍免费工具给大家的
* 资源编辑器
->Resource Hacker,相信不少人都已经知道这个优秀的免费软件了,最为让人称心的是它有完美的汉化。
->PE Resource Editor,同样是免费软件,而且代码公开,但可能需要两个delphi 6的运行库(->vcl60.rar ->rtl60.rar)。完全不比Resource Hacker逊色。
->eXeScope,共享软件,可以编辑16位的Binary文件。
->ResBuilder,TGTSoft(就是做StyleXP的那家)出品的一个功能强大的免费软件。其主页介绍为:"With ResBuilder, skin/logon/shellstyle designers have a simple way to alter alpha mask bitmaps in a resource file. ResBuilder auto-converts 32 bit BMPs to PNGs and back so you can edit the 8 bit alpha mask in your favorite editor. Good for LogonUI.EXE files. Also has a text and hex editor."。另外,它还能编辑被集成到可执行文件里的.xml .ini,十分吸引人。
* HEX编辑器
文件替换
我们知道,当文件被使用时它是不能被替换的,而大多关于UI的系统文件都是在启动时就被启用了的,这就为我们替换系统文件带来麻 烦,下面的两个软件可以帮助我们。
->CopyLock,Window$ 9x/2k,免费软件,"is a small program that allows the replacement of one or many files that are currently in use (e.g. the system files like comctl32.dll.) "
->Replacer,Window$ 2k/XP,免费软件,"is an easy to use system file exchanger for XP/2k. It uses a drag and drop interface to obtain input."
* 其他
->ResThief,免费软件,当把一个可执行或其他Binary文件拖到它上头后,它会把其中的所有资源文件展开并放到一个目录 里。
->SmartView,免费软件,"is a free Window$ program that allows you to select a directory and you can view all the bitmaps, metafiles, icons and icons held in executables as thumbnails."
3. 修改介绍!* 16位和32位文件
前面提到的几个资源编辑器都能修改32位文件,但我们依然会碰到16位的文件(特别是在Window$ 9x系统里),这时候就只有用eXeScope了。
* 编辑文件
通常的方法,只是简单的从文件中提取资源文件(位图、动画等等)、编辑、替换到文件里即可。或是修改对话框内的布局,修改文件内 的文字等等,都可以在编辑器内简单 *** 作就可完成。位图(.bmp .ico等)、动画(.avi等)的编辑工具可以选用自己习惯的来。
需要注意的是所修改的资源文件的文件大小、颜色索引、透明颜色的指定等等,一个比较好的方法是编辑原始的资源文件。
通常的,透明颜色会是紫红色(R,G,B:255,0,255),但有时是在位图的背景色里。
经常会碰到一个位图文件里包含了几个不同功能的按钮的图,而且在另外的图里可能还有对应的鼠标悬停和鼠标按下的图,一个较好的方 法是编辑原图。
对于XP,我们会看到有不少位图是有Alpha效果的(如:explorer的工具栏内的按钮),一个有效的办法是当用资源编辑 器提取文件后,立刻改名为.png(原来为.bmp),然后用photoshop之类的软件编辑保存,再用M$ Paint打开并另存为.bmp即可。(注:此法未经本人测试)
4. .dll文件内的HTML编辑!除了位图、对话框等,还有一些东西是以HTML保存的,如IE的"about"(shdoclc .dll,section 23)和"friendly HTTP error message pages"(shdoclc.dll,section 2110)。Resource Hacker能很方便的编辑这个的,编辑后点击"编译脚本"就可以了。但对于替换HTML里引用的.gif/.jpg等图,则不 适于用Resource Hacker,而eXeScope则能胜任愉快。另外,你完全可以用.gif动画来替换任何.gif。
针对关机画面和注销画面的修改实例
第一步:备份文件
一如前述,任何修改的第一步手续就是备份文件。这里所需备份的文件是msgina.dll(关机画面)和shell32.dll (注销画面)。
第二步:准备软件
这个例子里我们需要的是Resource Hacker(文件编辑)和Replacer(文件替换)
第三步:编辑文件
打开你的Resource Hacker
对于关机画面,打开文件%windir%\system32\msgina.dll,我们可修改的有以下几项:
CODE
对话框号:20100,这里可以修改大小,位置,名称...等等
位图号:
20142 背景图
20143 微软标志图
20150 按钮图,位图顺序为:正常 | 鼠标按下 | 鼠标悬停
以按钮为例,在Resource Hacker左侧栏内展开"位图",展开"20150",选中"1031",这时你就会在右栏内看到关机画面的按钮了。你可以在 菜单" *** 作"选择"保存(s)[位图:20150:1030]",然后编辑。这里我们选用" *** 作->替换位图(B)...",然后用附件内提供的位图替换。
其他的位图相同 *** 作,全部改完后,选择菜单"文件->保存为(A)..."(这里使用保存是不起作用的,因为我们编辑的是 正在使用的文件,稍后我们会用Replacer进行替换)。
对于注销画面,对应文件%windir%\system32\shell32.dll,修改如下:
CODE
对话框号:1089,这里可以修改大小,位置,名称...等等
位图号:
14354 背景图
14355 微软标志图
14356 按钮图,位图顺序为:正常 | 鼠标按下 | 鼠标悬停
如果你修改了对话框(这会修改画面的布局,你甚至可以删除按钮等部件!),要记得按一下Resource Hacker上的"编译脚本"按钮。
第四步:替换文件
现在运行你下载的Replacer(将下载的包解压到一个文件夹里,运行replacer.cmd),用explorer找到% windir%\system32\msgina.dll将其拖到replacer.cmd的运行窗口上,然后回车,再找到你刚 才编辑好的msgina.dll将其拖到replacer.cmd的运行窗口上回车,这时replacer会提示是否确认替换, 敲入"Y"并回车。OK,等待replacer自动退出就可以了。
第五步:检验结果
到了看看成果的时候了,刚才的replacer可能会提示你要重新启动,确实有些的修改需要你重启(如shell32.dll) ,但大多情况下我们不需要这样做。一个好办法是:Ctrl-Alt-Del启动你的项目管理器,在进程列表里找到explore r.exe并杀之(桌面没了!呵呵),然后用项目管理器里的"新建项目..."运行explorer.exe就可以了。
接上一篇《安卓应用APK文件的解包打包和修改教程》接下来 *** 作简单的三个案例1)汉化APK软件
在res文件夹中,我们可以看到有很多values-***的文件夹,这就是语言包。values是英文语言包,values-zh是中国地区语言包(包含港澳台及内地),values-zh-rCN是中文简体语言包(只包含内地),values-zh-rTW是中文繁体语言包(港澳台)。除此以外,其它地区的语言包都是精简的对象,可以不过多了解。
在values文件夹里,通常有arrays.xml、strings.xml等语言文件,要作汉化就要对这些文件进行修改。有时也需要修改其它xml文件,一个一个地认真查看。
2)修改图标标签
每一个APK文件都有一个“图标标签”。将APK程序安装进手机后,在图标下面显示图标标签文字。这个图标标签的内容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:图标标签例如:静音启动同理,如果是窗口小插件,要修改widget_name。
注意:system/app下的apk不宜修改,因为要同时修改对应的odex文件。
【3)去掉APK中的广告】
有很多APK应用都带有广告。为了去掉程序中的广告,要修改main.xml文件与广告有关的内容。在\res目录下找到文件main.xml。通常在\layout目录下,有时也被放在其它目录下。甚至,有时不存在main.xml文件,广告行被放在其它xml文件内。只能细心逐个文件进行查找。无论哪一种情况,查看其内容,你会看到有一项类似的命令如下。这就是广告显示。
android:layout_width=”fill_parent”android:layout_height=”wrap_content”admobsdk:backgroundColor=”#ff000000″admobsdk:textColor=”#ffffffff”admobsdk:keywords=”Android
application”/>将其改为:
android:layout_width=”0.0dip”
android:layout_height=”0.0dip”admobsdk:backgroundColor=”#ff000000″admobsdk:textColor=”#ffffffff”admobsdk:keywords=”Android
application”/>
可以看到,关键是要把fill_parent改为0.0dip,把wrap_content改为0.0dip,其它保持不变即可。这种改法就是不给广告显示空间,当然
你就看不到广告了。
【 4)修改显示电池为1%精度 】
在XT502上,默认显示只有7档:0%,10%,20%,40%,60%,80%和100%。通过修改framework-res.apk,可以改变显示精度。但是在XT502上,实践证明最好可能达到的现实精度只有10%。修改工作如下:
(1)对framework-res.apk进行解包(2)修改和增加电池状态图标(3)修改文件stat_sys_battery.xml(4)修改文件stat_sys_battery_charge.xml(5)打包(6)
提取stat_sys_battery.xml,stat_sys_battery_charge.xml,
resources.arsc和一个图标目录:drawable-mdpi(7)重新装配framework-res.apk
【5)状态栏信息通知文字颜色修改 】
状态栏信息通知文字颜色,是由framework-res.apk文件里res\values下的colors.xml文件控制的,所以我们只需修改colors.xml文件就可以了。另外,此文件还控制下拉栏的文字颜色,可以修改。用文本编辑器打开colors.xml文件,找到
#ff000000
将这句修改为:#ffffffff这状态栏信息通知文字颜色由黑色改为白色。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)