找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

搜索
热搜: 同步 ROOT 上网
查看: 49453|回复: 1178
打印 上一主题 下一主题

[教程] 【風の作品】A2平台更改左右软键功能之详细教程   [复制链接]

一代宗师

属于风的,那就去飞翔吧。

Rank: 22Rank: 22Rank: 22Rank: 22

精华
9
帖子
89045
金币
160831
注册时间
2005-12-23

IT168锋友会至尊勋章 IT168锋友会荣誉勋章 特别贡献奖 雄鹰勋章 福特SSCUltimateAero勋章

跳转到指定楼层
1
发表于 2009-10-16 23:50:43 |只看该作者 |倒序浏览

風行出品 品質保證


; \+ H- E* H3 |( W4 F# f
6 [% V7 Z. ^( ?本教程并非原创,而是原教程的详细补充。如有任何疑问,欢迎跟帖提出。
& w! _8 H- }: _1 {+ {& }; o# B& q
* w9 k  ]" u/ _& n; i一、ITM文件的制作4 E, g6 h- O- M5 V) U& W- _, Y1 t

6 c: F9 h9 Q% r2 E$ y) U  如果你比较懒,可以跳过这一步,在3楼我会上传一些已经制作好的ITM文件。你也可以使用此软件自己制作ITM:SE_Menu_Hook_Generator_3.0
1 r1 Y5 \, I7 d, r6 x
  d) K# ~5 o6 [, e! U/ m6 }9 U) U7 r) \2 U- k0 M% z2 }
1.编写XML文件
1 U! {3 S% ]& s: z6 X3 d  N$ |: F5 P2 d% h; a( O! n# r
  ITM文件实际上就是个TAR格式的压缩包,其中至少包含了一个XML文件用来定义它的功能。以下是一个例子,请打开记事本,把这些内容复制粘贴进去,然后根据需要自己修改。
  1. <?xml version="1.0" encoding="utf-8"?>
    ( k0 F. U% L; ]1 e' K! A$ @2 l
  2. <MenuItem version="1.0">3 }2 J7 S  H, c
  3.   <item_text>
    3 z* R; Y2 |  e: d
  4.    <text lang="zs" str="媒体" />) o, Y, M* i' A8 e" C
  5.    <text lang="en" str="Media" />: x6 Y/ i6 d& D+ l! V
  6.    <text lang="zh" str="媒體" />
    1 [4 j( u) J# `, w( Q% A
  7.   </item_text>
    9 q  w/ M  F/ H: M& k+ B2 E
  8.   <item_help># @9 v& I% z9 V% n
  9.   </item_help>/ ]" v# {" t8 z) Y8 \- ^
  10.   <item_icon>
    6 |* S, v: r2 S2 m  I9 D3 |( i
  11.   </item_icon>0 t3 F0 D9 Z0 _3 `2 k3 p" F
  12.   <item_action>
    0 d  a1 K- F/ H8 F
  13.     <ACTION type="Internal" str="MediaCenter" />0 q; U4 W9 d' n! d
  14.   </item_action>
    ( o* b5 W8 v) c
  15. </MenuItem>
复制代码
其中,<item_text>一段定义的是软键处要显示的文字。zs/en/zh代表的分别是简体中文/英文/繁体中文,这样写的好处就是,随着你手机语言的切换,软键处显示的文字也会跟着切换,跟手机语言保持一致。而str=后面的引号里自然就是要显示的文字,这个请根据你需要的功能自己修改。+ c5 M. Q# R! ?/ j9 Z3 n
' f2 J3 g% c0 x1 P/ U0 V
  如果你希望使用图标来替代文字,那么可以在<item_icon>和</item_icon>之间回车,插入这么一句:<RIGHT str="xxx.png"/>,其中的xxx.png就表示你要使用的图标是一个文件名为xxx的PNG格式的图片,其高度最好不要超过25像素,长度也不要太长。这个图标文件等会儿要跟编写好的XML文件一起打包成ITM文件。/ t8 Y" F: |# O& S  p: ^: z

* Y1 \! r' O1 C; q  接下来<item_action>一段则定义了要调用的功能,比如我这里写的MediaCenter就是媒体菜单。<item_action>这段可以有三种不同形式:调用手机菜单的某一项功能、打开某个已安装的java程序、打开某个URL网址。接下来一一说明。
1 s- V) [6 q. i& }/ H$ r. G% l
a.手机菜单里的某项。用记事本打开你那个型号手机的menu文件,会发现它实际上也是按XML格式编写的,稍微懂点语言的不难找到你需要的某一项的ID。比如我要改的是媒体,它是第6宫,那么我就在menu里找“Desktop Element 6”,再往下就会发现id="MediaCenter",这就是<ACTION type="Internal" str="MediaCenter" />当中“str=”后面要写的内容。其他的也以此类推。而type="Internal"就表示了要调用手机里原有的某个功能。
- [6 ]2 a8 |4 ~
' ?, i" {- a- p! |' J6 ab.某个java程序。首先来看一下XML里应该怎么写(以手机QQ2009为例):
  1. <?xml version="1.0" encoding="utf-8"?>" N# ], `' Y" c5 g
  2. <MenuItem version="1.0"># U* b. C: @, T- k9 U. |8 W
  3.   <item_text>9 {, }& {* L' e3 P6 P
  4.    <text lang="zs" str="手机QQ" />
    0 a* N) j5 @9 W: A- U
  5.    <text lang="en" str="MobileQQ" />
    & N1 B6 k$ _! n$ L8 w) U  E
  6.    <text lang="zh" str="手機QQ" />
    8 Q- X8 K* I+ s3 `
  7.   </item_text>
    : A: W  R9 x) s: k5 |# l2 r7 J
  8.   <item_help>+ d5 q- B) M9 @% O" ^; G
  9.   </item_help>6 N& h1 g$ l: j( G% H' W# h
  10.   <item_icon>
    & O: z/ Z4 y) N5 N
  11.   </item_icon>
    0 {- B# G8 `8 ~, s% M
  12.   <item_action>( r8 F5 S8 \6 v5 e& `
  13.     <ACTION type="JAVA" suite_name="QQ2009" suite_vendor="Tencent" entry_point="com.tencent.kqq2006.ui.MainMIDlet"/>
    " p$ Q# C7 z6 ~6 H& x9 [; \4 K
  14.   </item_action>
    , F! l2 s& I9 t: M' f  M8 R1 X  @
  15. </MenuItem>
复制代码
注意<item_action>这一段。其中,type="JAVA"这个是固定的,而且注意JAVA一定要大写。后面的三项,要根据你要调用的java程序的MANIFEST.MF文件内容来改写。下面详细说明一下。
  |, \" X- r/ S3 B: `' S: A. D& g- u" W3 h& D2 O3 o3 a, Z* U
  首先,用WinRAR打开jar安装文件,进入META-INF文件夹,把其中的MANIFEST.MF文件拖拽出来。用记事本打开这个文件,可以看到如下内容:
Manifest-Version: 1.0
  D9 B, _* m( u/ QMIDlet-Vendor: Tencent% C( T+ b* c, K/ {
MIDlet-Version: 09.00.47
- n4 A' S6 i( }6 e, {; g- y9 R9 ]' A3 eMIDlet-1: QQ2009,/icon.png,com.tencent.kqq2006.ui.MainMIDlet
& L) |1 E5 W2 b  b3 s% d) o% b6 hMicroEdition-Configuration: CLDC-1.0
+ \. n8 s' G5 _0 w5 lMIDlet-Name: QQ2009
) {" c* e4 p; h& |" o( T6 `MicroEdition-Profile: MIDP-2.0
* P- X. b( B$ m$ A1 m1 V1 z4 _7 ]5 NMIDlet-Permissions: javax.microedition.io.Connector.file.read,javax.mi; z. @/ U$ r; E5 X
croedition.io.Connector.file.write,javax.microedition.io.Connector.ht
1 W. t( N" S" K* s2 r- A# Mtp,javax.microedition.io.Connector.sms,javax.wireless.messaging.sms.s7 R+ V7 l! E3 o* f
end,javax.microedition.io.Connector.serversocket,javax.microedition.i
: I9 O/ k2 ]8 X) {+ Ro.Connector.socket,javax.microedition.media.control.RecordControl,jav5 k8 J' O5 N7 M; A/ x
ax.microedition.media.control.VideoControl.getSnapshot
0 e9 \, l# j5 q8 A5 f# A
  注意我用红色标注的部分,这就是你的XML中,<item_action>这一段要改写的三项。其中,suite_name就是MIDlet-Name;suite_vendor就是MIDlet-Vendor;而entry_point则是MIDlet-1这一行,第二个逗号以后,直到这一行结尾的内容。
1 {; n) e& d5 F6 f7 X, z3 ]$ z8 g$ i" }
  再举一个Anyview的例子。Anyview的MANIFEST.MF内容是这样的:1 M/ p+ y* c( T# V$ [& J$ L2 {' ^
Manifest-Version: 1.0
' Z; Q( W4 m4 xMIDlet-Vendor: ismyway.com
: ^& @- l; p' B  DAnt-Version: Apache Ant 1.7.0" V& y6 F8 R6 _/ e3 Z$ p7 M: R
MIDlet-Version: 4.0.84 \2 [8 o4 {. H9 E, p8 F! |, k
MIDlet-Permissions-Opt: javax.microedition.io.Connector.http,javax.mic  b  w9 n1 V& \1 ^) P1 H
roedition.io.Connector.sms,javax.microedition.io.Connector.file.write! m6 L3 ]# w) _2 H' q' x& p
,javax.microedition.io.Connector.file.read,javax.microedition.io.Push: R! Q& |: M3 i$ B" u+ b) f
Registry,javax.wireless.messaging.sms.send,javax.wireless.messaging.s
* n3 d2 N6 z" t7 r, [$ t ms.receive
+ \, H% C: R" i1 TMicroEdition-Configuration: CLDC-1.1
/ s8 ~9 ~6 |; [, SMIDlet-1: Anyview4.0, /res/icon.png, com.ismyway.anyview.Anyview! D9 F& _2 H0 K' z
Created-By: 10.0-b22 (Sun Microsystems Inc.)
& e6 \: G+ s  W9 ZMIDlet-Icon: /res/icon.png7 i& Q# Y! R. Z
MIDlet-Name: Anyview4.00 l# i; w0 G% E; J  [5 q
MicroEdition-Profile: MIDP-2.0
! u# X1 [) ~- y
  所以<item_action>这一段就应该这样写:<ACTION type="JAVA" suite_name="Anyview4.0" suite_vendor="ismyway.com" entry_point="com.ismyway.anyview.Anyview"/>。大家对照一下颜色应该就能看明白。7 k4 n: c  W3 |7 P" w

  f; V5 F* q4 K& F' ]3 zc.某个URL网址。以cnBeta手机版为例:
  1. <?xml version="1.0" encoding="utf-8"?>
    ) V5 n$ l1 p# \* |
  2. <MenuItem version="1.0">
    2 g; W" n" n: M9 F& [- d% Q
  3.   <item_text>; W7 O0 S6 T. O* C1 i* Y
  4.    <text default_lang="zs" str="cnBeta" />
    ( i& w# H2 T0 g$ ]
  5.   </item_text>
    7 K" X# ^, d3 |5 E0 @" b% f
  6.   <item_help>2 H" C7 R/ E1 M9 z
  7.   </item_help>- F8 M$ f6 g7 ~& {" h. @- H
  8.   <item_icon>
    ) E8 b$ H5 @9 p) n0 J2 q& R
  9.    <RIGHT str="cb.png" />
    ) O# t% e7 w- T$ _9 W
  10.   </item_icon>
    . H6 L" P. @" G3 z( i* ?
  11.   <item_action>
    5 s! e0 O8 T( C5 s( p" u: B4 n& X2 ~5 R
  12.     <ACTION type="URL" str="m.cnbeta.com" mode="Normal" />" |& u* [# q6 \. W5 X2 u9 i8 m
  13.   </item_action>
    ! e. i4 U' l, s: S
  14. </MenuItem>
复制代码
首先请注意<item_icon>这一段,这里我使用了一个图标文件,文件名是cb.png。<item_action>这一段,type="URL"表示访问一个网址,而str="m.cnbeta.com"则说明了要访问的地址是m.cnbeta.com,注意这里是不用写http://的,直接写网址就可以。# t! F; p% _& w( [) m- T9 p
. R5 N7 [; [4 \0 g, I+ u$ h5 |* W
===================================================================================================================================' _& y* K6 g2 F. h6 B
  不管你想改的是abc哪种,现在,这个XML文件已经写好了。使用记事本的文件菜单里的“另存为”功能,将其保存成一个XML文件。保存类型选择“所有文件”,编码格式选择UTF-8。文件名为LEFT_SOFTKEY_HOOK.XML,如果你要改的是右软键则是RIGHT_SOFTKEY_HOOK.XML。注意.XML的扩展名一定要写,否则你就保存成TXT文本了。
  u# t) k: f0 \% Q. \) k& [' E0 n, k+ y; s" v+ _" A
$ _/ L6 c3 M+ H" P% X7 x

* y3 L% F+ {" v7 J2 {5 z2.将XML打包成ITM文件
- Y* z8 S) B( {
- t2 B: R5 R8 k, z8 }- c  这一步要使用的工具是TUGZip。我建议你到官网下载3.4.0.2英文版再加上简体中文语言包,最好不要用汉化绿色版以及最新的3.5版,因为我遇到过双击打不开程序,但任务管理器里却有进程的情况。% u; d& l% u4 o' u

% l; a5 Y  {' x6 a点此下载3.4.0.2英文版 | 点此下载中文语言包(解压后将chinese(simplified).ini文件放置到TUGZip的Languages目录里)& k# w) b& A9 s, e

! F: t! ]: {7 F7 ~! T①打开TUGZip,选择文件菜单-->新建归档文件,或者点击工具栏第一个图标打开新建文件的窗口。
6 o3 w5 `% p4 _) i; \②找到刚才保存的XML文件,单击选中。如果你要用图标文件,请在这一步按住Ctrl键将图标文件同时选中。
" \4 b% L2 ^4 Q5 Y# [7 B6 u9 z③文件名默认是Untitled.tar,这里我们把它改成LEFT_SOFTKEY_HOOK.itm(右软键则是RIGHT_SOFTKEY_HOOK.itm)。压缩格式选择TAR。
; S8 N0 c! a. b( C% S# d④点击确定即可生成ITM文件。9 @# v/ v/ e0 t; y/ @+ k
, G" ~+ ?% b& p8 `8 S

" ~& u% v  f3 K6 B8 H. Z) _& A& c2 T
  至此,第一步的工作已经完成,接下来将ITM文件刷入手机即可。请继续看2楼。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏18 顶17 踩0 转发到微博

一代宗师

属于风的,那就去飞翔吧。

Rank: 22Rank: 22Rank: 22Rank: 22

精华
9
帖子
89045
金币
160831
注册时间
2005-12-23

IT168锋友会至尊勋章 IT168锋友会荣誉勋章 特别贡献奖 雄鹰勋章 福特SSCUltimateAero勋章

2
发表于 2009-10-16 23:50:56 |只看该作者
二、将ITM文件刷入手机. B! i9 Y4 M, z# B
+ A8 Z" E: K" P! ~$ h  k: `0 h
  这一步是要用A2tool(即A2uploader,以下简称A2)来进行,如果你没有刷机经验,不会用A2也没关系,跟着我一步一步来就可以了。没有装过刷机驱动的请先按这个帖子去安装刷机驱动,这一步在此不再赘述。还没有下载A2的请点此下载,解压之后准备好。还不清楚自己手机究竟属于哪个DB平台的请看置顶帖:FAQ - 手机DB/CID列表 刷机前需要了解的基本常识
- \; O( v" l6 g' O) }
" i9 z3 M2 Z6 F( _$ Q(注意!DB3350平台现只能用Far+SEFP2刷机,请参考我的另一帖子中,Far+SEFP2的视频教程:【風の作品】Far+SEFP2视频教程,全程语音解说!。只是刷机所用的软件不同,刷法都是一样的,无非就是删除、刷入两种最基本的操作而已。)
% I2 ~- q+ _: A; q* [% w! P( X$ m  |& F, v' K4 g/ J
  手机关机,最好拔下电池再重新装上。不要开机。打开A2,点击FileSystem tool,然后按住手机的C键,用数据线连接电脑,A2识别出手机之后就可以放开C键。等一会儿你应该看到如下图所示,右面的框里就是你手机内部的文件了,双击可以进入目录,双击最上面的".."可以返回上一级目录。
- i- t% l. v; s  T1 p
+ {$ C" g. i% s! |" I3 K3 H
/ ]) O" Y7 [- \+ m8 }: h2 _3 r6 z3 d4 ~* c
注意以下1~3的步骤,DB3150平台的机子的路径是tpa\preset\system\custmenu,而不是DB3200/3210/3350平台的system\preset\custmenu。4~6步则是相同的。; Y5 F9 R6 G* r
①依次双击进入system、preset、custmenu,在cust_menu_done_unpacking.dat文件上点右键,在菜单里选择"Delete"删除这个文件。6 l; [* l0 M, B1 E7 S
②然后双击进入LEFT_SOFTKEY_HOOK目录(改右软键则是RIGHT_SOFTKEY_HOOK),按同样方法删除里面的文件。9 \* m  D) n  [5 n- E1 v! @
③返回上一级,删除LEFT_SOFTKEY_HOOK目录(改右软键则是RIGHT_SOFTKEY_HOOK)。
  }! I/ m, c& A如果你之前没改过软键的功能,那可能不会有这个目录,跳过②③步即可。如果有就请删除。
+ ?1 e7 c1 ?1 C8 Q
$ u1 E6 I+ R; [3 A, x
+ @* V& O( x3 N2 A; ?. Y
: ^* i% i; ^& Q3 E1 a; Z+ l④一直双击最上面的".."返回最顶层,再依次双击进入tpa、preset、custom,删除LEFT_SOFTKEY_HOOK.itm文件(改右软键则是RIGHT_SOFTKEY_HOOK),如果有的话。: t7 v& \0 }- t9 {1 k, g
⑤把之前打包好的ITM文件拖拽进来。; V( v5 L' B2 j) t" Z" l+ h% f. j
⑥点击红字的Shutdown FS Manager,断开手机。1 ]" H/ W# ?6 h# k. Z
5 ]# r/ ?1 `1 J5 W

3 n& x( I" `2 t8 U- `0 i$ ]+ r/ a1 N. b2 X# ?# P% ^$ i
  OK,现在你可以开机看看你是否成功了。偶尔会有按开机键没反应的情况,只要拔下电池再重新装回去就可以了。最后再注明一下,其实中键也可以这样改,把LEFT或者RIGHT改成CENTER就可以了,因为一般都不会改中键的“菜单”功能,所以并没有提及。3楼将会上传几个保留中键“菜单”功能,但改成图标显示的ITM文件。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

一代宗师

属于风的,那就去飞翔吧。

Rank: 22Rank: 22Rank: 22Rank: 22

精华
9
帖子
89045
金币
160831
注册时间
2005-12-23

IT168锋友会至尊勋章 IT168锋友会荣誉勋章 特别贡献奖 雄鹰勋章 福特SSCUltimateAero勋章

3
发表于 2009-10-16 23:51:03 |只看该作者
部分已制作好的ITM文件,下载后解压即可. R( z5 E: x3 K$ ]; t8 U
9 F2 D% q; {" l2 N4 c; D- a4 a
手机功能(文字版)
; x/ b' b/ {, C" M& s2 h( O3 d* `2 U, R

: |0 i# Q8 Q- N' I! }, @
$ K' r' e" ^3 c8 F  Z& p  ~( c$ O
5 X4 R& W3 ?+ C% k4 h' _: c8 }0 z
( `1 _/ Q: m! E& e手机功能(图标版)
- }  f  y; z0 C' X6 [  ~$ {(Walkman图标)
) `. i; f! t/ S3 z$ T& f# s, b$ W2 Q) C

7 D9 _8 S5 [( X3 C8 ]: @- A) Q8 \" N

' t/ @2 D6 A; V9 }; v4 i! i
. ~/ d. r. G8 d. F6 e; Y5 c" [/ p" \1 d' x! M
) q6 V' h/ w( {) c$ u' G
8 j8 [0 Y  G( b& L# G$ S

  X/ Y  {! i3 x5 Z( Q( Z; ]java程序由于版本不同导致MIDlet-Name也可能不同,所以这里就不提供了,请参考教程自己制作) k& ^; L7 b/ h! n' o! g& A
; p* _* i. a8 _) R9 c; l
网址9 }8 y- V' h" Z) E) K% E

7 {  o. k$ |4 z' w; W
4 `8 c4 |4 R4 \  k1 k- t0 b7 S/ K4 g) o
=======================================================================4 u& m. U' k* s" Z/ G6 i1 B
这篇教程是我在上夜班闲着没事的时候构思的,给大家秀一下原始草稿6 V  ]! J6 Q4 e2 L( I

2 j% e: z1 Q! d+ t
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Xperia arc LT15i | 2.3.4 | 4.0.2.A.0.62 | Baseband70 | DooMKernel v22 OC 1.2GHz

使用道具 举报

孤独求败

疯狂的河马

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

精华
0
帖子
17842
金币
36556
注册时间
2008-8-14

IT168锋友会荣誉勋章 雄鹰勋章

4
发表于 2009-10-18 03:16:05 |只看该作者
很详细啊,支持风大,感谢分享,我还在DB2020。沙发搬走。。。

使用道具 举报

仗剑天涯

〖软件刷机专区〗

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

精华
1
帖子
5678
金币
19852
注册时间
2006-10-28

荣誉会员勋章

5
发表于 2009-10-18 08:12:47 |只看该作者
支持风大,感谢分享

使用道具 举报

Rank: 1

精华
0
帖子
80
金币
347
注册时间
2009-10-15
6
发表于 2009-10-18 11:08:16 |只看该作者
这样也能做到,版主太神了,支持一下。

使用道具 举报

Rank: 3Rank: 3Rank: 3

精华
0
帖子
441
金币
979
注册时间
2007-8-27
7
发表于 2009-10-18 11:40:23 |只看该作者
謝謝分享

使用道具 举报

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

精华
0
帖子
7785
金币
25284
注册时间
2009-1-2

荣誉会员勋章

8
发表于 2009-10-18 12:27:37 |只看该作者
感谢分享yociexp89

使用道具 举报

Rank: 16Rank: 16Rank: 16Rank: 16Rank: 16Rank: 16Rank: 16

精华
0
帖子
9675
金币
20482
注册时间
2008-11-13

优秀版主勋章 特别贡献奖 季度优秀斑竹勋章 梦幻之星 优秀斑竹GG勋章

9
发表于 2009-10-18 14:08:00 |只看该作者
图标版收下了。。$ G' p0 P% V$ T: U1 G  R6 n: t' y: n

  z- [5 F* ~% q$ m. I[ 本帖最后由 ranjialin 于 2009-11-1 16:31 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

孤独求败

DFFL & MFFL

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

精华
0
帖子
9888
金币
45110
注册时间
2008-11-23

IT168锋友会荣誉勋章 雄鹰勋章

10
发表于 2009-10-18 22:47:06 |只看该作者
yociexp75 感谢分享~~

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐

那些登上IT168首页的文章!可能就有你的!
 那些登上IT168首页的文章!可能就有你的!
会员 youmingfou edisonxiaxu 殷破败 tdianping atter21 的文章登上首页!

查看 »

Archiver|手机版|索尼手机论坛 ( 京ICP备09055130号 )  

GMT+8, 2012-5-22 12:09 , Processed in 0.144354 second(s), 19 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部