|
BlackBerry 10 的config.xml文件模板如下$ F5 b3 R r( j4 n
9 v; @4 N* d/ l( ]! b4 p
<?xml version="1.0" encoding="utf-8"?>
* X9 E8 W1 T# l7 [* O0 [<widget xmlns="http://www.w3.org/ns/widgets" 3 J6 z4 U0 p- M. k! C, f: K
xmlns:rim="http://www.blackberry.com/ns/widgets"
2 Z% O! t! `* n) ?2 p* }7 A version="2.0.0.0" id="sampleapp">
2 E# Q- G; c1 b& R<author href="http://www.example.com/"
% @% W" \, L( I! `) R; Y" K$ s$ x rim:copyright="Copyright 1998-2012 My Corp">My Corp</author>+ a: U9 b) @ W" l+ H
<name>Sample application</name>9 k o+ l5 _, N0 d; v3 T
<description>+ P/ W: B+ O& d) H) T9 ^
A sample application to demonstrate some features.
8 }! @: s5 A% q0 T3 W4 D8 z</description>) i% o! S/ n& e A
i$ Q) l. B- E9 d$ t1 w3 c7 E<rim:permissions>% C( S* \4 O$ ~1 q) Z' v1 Q: n& Y$ f" _
<rim:permit>access_shared</rim:permit>$ {5 N. N f% P' m# B! B0 y
<rim:permit>access_location_services</rim:permit>
! t$ x" o+ x7 I. f, D- { <rim:permit>use_camera</rim:permit>
# D3 x+ @8 z: v" `( }6 ~# Z</rim:permissions>% v8 x1 Y% @. u d
& V9 H0 A/ J, @9 b5 _3 F) r; B9 l<icon src="icons/icon-150.png"/>/ Y3 H+ Y! w/ R b: j y6 U! G# m
<rim:splash src="splash-1280x768.png"/>
, y2 E4 k0 _0 p' X, G<rim:splash src="splash-768x1280.png"/>& }% s; w) x5 o" T. m! o# r8 ~ j
<content src="index.html" rim:allowInvokeParams="true"/>
% Q: Y0 `6 F; {8 A7 p+ n( |/ z<feature id="blackberry.ui.dialog"/> r! q2 G M& ?/ ~5 C* ]
<feature id="blackberry.app.orientation"># K& C# ^% h3 |; s
<param name="mode" value="portrait" />8 o1 u+ T$ o7 z) v6 z* b
</feature>
8 c" L) Z2 x" M9 u<feature id="blackberry.app">" |& Y: J/ m* C7 I& I& f7 I
<param name="backgroundColor" value="0xFFFF0000" />2 H" u6 a# e/ S4 _, G
</feature>- C7 \. ~' d/ @8 `1 @2 z
<access uri="http://www.somedomain.com" subdomains="true">2 `3 k7 G" Q; U8 O- @% E# l
<feature id="blackberry.app" required="true" version="1.0.0"/>4 D6 |2 e' I# R& Y
<feature id="blackberry.invoke" required="true" version="1.0.0"/>$ U6 V* W2 r/ [
</access>
+ ?4 _+ K) R* r* w0 f<license href="http://www.example.com/"/>
0 A# N, N; e2 L</widget>
0 t/ v" S1 ^6 x. a/ } ' X: o# T) v& d" ]( M1 M: ]7 A
8 w3 c+ I4 I/ X+ E, I
各元素释义
b! k. Y; v# l% [- @7 L2 v; @widget5 ~2 E- W8 @. G" }
widget元素的属性如下:
1 K% W* k1 b/ y7 X- \1 X9 h6 F
, \% D( ?( s: \: {1 k# a1 u0 d* r <widget xmlns="http://www.w3.org/ns/widgets"
/ L y' ~! D) T7 ? xmlns:rim="http://www.blackberry.com/ns/widgets") d& T) E# ^ S2 q
xml:lang="string"# n0 l( V. v1 Y7 z
version="2.0.0.0"
2 y: c6 Q( Z" D9 A! w9 _. d id="sampleapp"
6 E: m$ ?5 r* J% }# b rim:header="RIM-Widget:rim/widget". w( |! j' [) l& w2 N! m
rim:userAgent="BlackBerry10/MyWebWorksApp">
; M& a6 O" j% x0 k- F' C" b</widget>3 g( t i3 |6 Q& W, e
% N/ ]6 I k- R! b
+ s( g& A; e* y/ _
version 用于指定app的版本号,对于Playbook及BB10平台,可使用 X.X.X 或者 X.X.X.X 形式,除此之外的版本号会导致应用打包失败.$ ], M' z) r8 X& }7 V- b; f
rim:header 指定一个HTTP头,通过该应用程序所发出的每一个HTTP请求都将附带该HTTP头,可用于区分来自webworks应用程序的访问和来自普通浏览器的访问.
0 N# |1 O( Q8 ^& V! Frim:userAgent 指定userAgent字符串,可用于区分来自webworks应用程序的访问.. K- t5 N' _. c0 A2 r% r& Y! j' s/ j
id 应用程序的唯一ID,建议使用反向DNS格式的字符串,如“com.mydomain.app”.该属性对于应用程序的更新管理是非常关键的,同一vendor下的各个app应有独立的ID. 如果不设置,将默认为“default”字符串 .此项值存在于封闭后的bar文件中, 使用解压缩软件打开bar内的MANIFEST.MF文件,其中的Package-Name项即为此值的加密串,形如:sampleApp6d5d8d2973ab439a52d274dffa2b018 ." w' r9 l/ q: l$ v
3 K8 A Z0 t& ?# ^ X" O b6 W) a: D% b& Y: s
author: {: G8 y: `& \6 [) v: _
9 z4 S7 g, Q4 |" _* J s
author元素的属性如下:
5 F$ t. n- L, @2 n" r
) m; o+ d# h4 R+ o% e. n e$ n* G" f <author href="url"( f4 L' x. g( _2 ^
email="email"
$ g% V$ a- r6 f) |8 |' n4 E8 M rim:copyright="string"- b% h+ ]; b0 h
xml:lang="string">authorID</author>
# O3 @' f3 i& E4 T: c( k
; D$ p2 k. X$ r6 `; L/ l7 W; j% o
4 P( O" f- {# f! L# H( d+ b) q+ y9 t( F) w8 j7 ~9 t
href 用于指定app作者的网址,如作者的个人网站或企业网站等.该属性可通过 blackberry.app.authorURL 获取.
& U2 C4 N; n5 i% ?% m" I7 S Orim:copyright 版权信息.该信息会显示在应用程序的关于页面,例如 *Copyright 1998-2009 My Company Inc. * 该信息可通过 blackberry.app.copyright 获取.* e# [: \" {1 } T* ^6 ~, t
email 作者的Email地址.该信息可通过 blackberry.app.authorEmail 获取.7 F$ W u. q* `3 R0 w7 t3 j J
name
, R, x" {* N1 H S5 _+ |应用程序名称,该名称即为显示于设备上的图标名称.该字段长段不能超过25个字符,可通过 blackberry.app.name 获取.# [- N& C% M9 P) Q' g# Z
3 G1 m+ |: r7 E" V9 ?+ K
description+ `5 H* q) C3 w& J* H ]/ A; h
应用程序功能描述文本.
0 p7 J: P0 k# p' Y4 F0 f z- h. I ]* Q9 q* q2 O; ]
rim:permissions2 z2 L" ~# Q. R9 |
应用程序的权限清单.在此处申明本应用程序所需的权限.此元素的子项为 rim:permit . 有关 rim:permit 的细节,可以参阅 rim:permit
9 ^2 o) [$ @5 K: _9 O j4 e) p% |/ o
( Z Z2 r T, F8 e) H6 Sicon* ~( w2 c+ c2 k4 I
应用程序的图标。对于Playbook设备,此图标的大小应为 86×86 ;对于BB10设备,此图标的大小应为 150×150 ,均为24bit PNG格式且带alpha通道,可设置多个icon元素,分别对应不同大小的图标。 如果不指定icon,则使用默认图标. 如果要针对不同的语种提供不同的图标,可以使用以下形式:3 t6 F! j( f7 T& d$ g0 \: v
: ?( T0 O0 u0 {2 k! B! f1 x' F- I. {: ^
config.xml中的声明, E0 V) t! J3 c% I S) G3 Z7 O G& m3 w
! x* I5 X, Q" N" h- k' e5 y
<icon src="icon-86.png" />
" ^0 D5 g: ]7 D4 ?<icon src="icon-150.png" />1 o" D/ t& E7 y
/ S7 J, I1 v: ? ^9 ~. L, T L! Z
/ s1 O+ s( W- b2 Y( h0 R文件系统结构% t% c& l' _. o5 q4 y5 y
5 K0 z5 B5 g. \" Y9 E1 O" F3 Olocales/de/icon-86.png5 X. [6 ]7 U/ z& X5 c! M1 N7 h
locales/de/icon-150.png4 N4 ]% W. |. S
locales/fr/icon-86.png
+ i# P1 L# H4 ?, _7 c5 z7 D3 Ricon-86.png
% X- @ y: Q; S2 }9 d$ nicon-150.png
" I; k0 ~0 V( a( z) b 4 s, L+ A% |* `1 v
% z' ~* ]3 G2 Q5 g, B' [6 [$ G* ?$ D, Z$ X8 v" j( Y1 T& `
文件系统中的文件夹必须为app根目录下的 locales ,次级目录的命名参考 BCP 47 – Tags for Identifying Languages ,如 en-US或者fr,次级目录内的文件名应与icon元素指定的文件名完全一致.9 s6 c' n& ^" |" O) O) O
' Y5 v: l/ b7 R) |+ M
rim:splash
5 r# f* k/ D" E' u7 p% [ L" _( g9 K应用程序的启动画面,可设置多个此元素,对应不同大小及方向的屏幕(横屏状态下启动或者竖屏状态下启动)。如:
7 L: ]4 @; \: ~ _ p* _6 _+ @, T6 h& |/ ] f7 {" L, r
<rim:splash src="splash-1024x600.png" />
' ~+ I" L. P. [! m<rim:splash src="splash-600x1024.png" />
& V: [& y! X% j* P<rim:splash src="splash-1280x768.png" />" q& Y8 l7 j. x1 x' P
<rim:splash src="splash-768x1280.png" />5 \ ~: k& z5 j U
& h% Q" i, Z5 y$ _+ Z: s5 L3 C
( c7 T. j; N( j4 m. H9 s6 X8 F" e1 j0 E
该选项也支持多语种环境显示不同画面,文件系统结构如:8 y/ Z- x+ j: f: c
: K1 Q m+ @8 H# f& F H- a7 `5 j
4 y/ k- {; i Z6 x locales/de/splash-1024x600.png& W, d: }$ T" ^1 c9 k/ ], w9 @, q
locales/de/splash-600x1024.png' f3 c+ U. {6 b2 u6 w8 k6 o/ F
locales/de/splash-1280x768.png A& {5 O0 `* o' p$ F3 G" I, P, d
locales/de/splash-768x1280.png6 Y9 E# U' u, C0 _
locales/fr/splash-1280x768.png
% O: m; N( K/ o& Y" ~! M0 k! Ylocales/fr/splash-768x1280.png# Q' R _$ L( X7 i0 p; k7 A. B
splash-1024x600.png
e, ~ Z4 n, r* N4 F. W5 f5 Psplash-600x1024.png0 E" G- R: @3 l
splash-1280x768.png$ b4 h' F% P' z
splash-768x1280.png
& v+ `0 Y7 G+ S
: r0 S& z( f' o; {$ d% X+ n& W/ w
/ |+ k/ W: `; p0 T6 L) S
, @2 _: ~' Y3 g. Ucontent6 n' _9 ?9 H! E) ?# w, j6 J* R
content元素指定应用程序的主页面,URL内可为相对路径(如index.html),绝对路径(local://index.html) 或者URI(如http://192.168.1.1/index.html)5 K$ J1 U& y4 n: g6 C" q. `
6 w1 T8 s; o t# |
; E. [1 C% M3 U <content src="string"
# E- R, q" ^- N7 E# [ rim:allowInvokeParams=["true" | "false"]4 \- c- B0 B" y. x$ F
type="string"
6 B: Q+ F3 P7 G. W' p, l charset="string" />
, w) j# I& b8 ~, l 5 r# m8 s* M- X8 E- [6 m4 ?8 O
8 P- X; j. R8 v3 p4 @; A5 |- W0 P
. J" H6 c& N' _7 z1 L i其中rim:allowInvokeParams属性用来指定应用程序是否可接受外部调用,默认为false。type和charset属性用于指定src所指向文件的类型和charset。
: w2 Z: w& V6 R4 W$ U3 W4 \8 s0 C0 X. H9 h% j
feature
, B5 H2 Z* A# e2 s1 Sfeature元素指定应用程序所声明的系统API功能及参数,或者启用某个默认情况下不启用的功能(如BB10上的FLASH插件)。
; {6 W8 l; h" l" x8 c. P7 m1 |" q! {# Z
) M" f- R8 H7 _ y8 @* s <feature id="string") B/ @% b8 ~7 E3 d2 Q$ Y
required=["true" | "false"]( N: L$ u8 h) B- Z/ O% X
version="string" />
" j, G7 n0 W( S, F( b/ o
9 X3 m7 u; T+ b& B" z; D/ \" D- X1 R" \/ u: A
# H! X0 m5 J, D9 T4 w1 m当feature出现在access元素内时,代表在某一外部域下使用该功能,直接出现在根元素下时,代表在webworks app的local范围内使用该功能。
3 w/ B- K: z- p$ P/ D+ U/ V3 I3 {& Q5 M9 j
ID BlackBerry API 的名称,取值须完整匹配API名称(大小写不敏感),不可使用通配符(如*)。 要启用BB10的Flash插件,需在根元素下声明 <feature id=“enable-flash”> ,该feature不能在access元素下声明。: S9 @# m- {. `% s$ J- x7 x
required 这个是为了符合w3c标准而设置的6 p; a4 N: s8 s t
version 指明API的版本号。; j; _) {* G ]$ ]! Y7 R( l
access
/ K1 h7 y% p, ?3 @# {+ Z# Oaccess元素声明应用程序对指定域资源的访问权限。) h! a( B2 {; ?0 x# ]
/ X4 `) a- ^0 F: {- Q7 k
<access uri="string" subdomains=["true" | "false"] />
, w" V( ]6 o% T" g$ H& R $ C9 g3 n9 t9 S
9 x! H. f6 M2 l6 l- }; W
' o$ U* v, T- I/ t- y0 v
其中 subdomains 设置为true时,允许访问该域的子域。( a; t8 h0 c$ L8 O
. z; y0 ?2 k3 `+ p. H+ ulicense
4 f4 W# ?( f) E8 z$ Y! @0 U& Slicense元素指向应用程序的详细EULA页面(使用href),或者直接引入License文本,如:$ z. u' P. G, a+ v7 D" R3 D/ s4 N
% ^! Z9 m9 v8 @, q9 ~3 A9 Y) b, e1 G/ z9 W8 }9 z ~8 a2 F
<license>2 I4 i9 e+ z6 ]7 _9 ~- b
Example license
1 R+ V- c7 [' ^6 F. K2 x: d7 FCopyright ? 2012 My Corp." n! w3 m. V; W/ d
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,) F+ O- O+ o. q6 v4 b' B8 J' ]
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF( y) ]- z( P; u. }
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND& a' G$ E9 Y0 U, w7 @! v: T9 J7 P$ p/ i
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS2 l' n" s) K/ A1 \7 P# n$ P
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN! z7 v+ o2 E, ], p& F; i+ Y! e: W
ACTION OF CONTRACT, INSULT OR OTHERWISE, ARISING FROM, OUT OF OR IN
0 a: V- l7 N8 Y. y& g) QCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE% T) X4 Z9 z* s( l
SOFTWARE.% _5 M) M+ O/ ?
</license>
9 A6 l9 b1 r a1 r0 ` 2 U8 m9 ~8 _7 I; [* O) \
1 N' \" L- y" D2 N, ], Q5 i: p: N$ S
; n8 Q0 W! L3 K& b# r- p6 {: N
& U1 g' B. n( n( q' K1 o' e# L作者5 S4 ]; j: }3 f$ w
图图鲁,Vendor名称为anpho,黑莓个人开发者。
: Z0 U; T( v1 e6 ~' r1 B, W+ q: D4 I+ h$ m$ g7 t, W
7 Z" H& _* I7 e7 }+ y [8 d
该贴已经同步到 金属狂人的微博 |
|