BlackBerry需要图形界面才能够进行,一般Linux服务器一般都不会使用图形界面,使用SSH远程登陆的。
BlackBerry签名如果在没有图形界面或者使用了后台运行任务(即使是图形界面)都会有NO X11 DISPLAY的错误,造成无法签名。
一般BB都是在WINDOWS下编译的,BLACKBERRY DEVCON 2010文档上说了可以在LINUX SERVER上进行,需要xvfb。
现在BlackBerry签名都免费申请和使用了。地址是:https://www.blackberry.com/SignedKeys/
我这里使用的UBUNTU SERVER 10.04所以在签名的时候,可以安装Xvfb这个软件,Xvfb是用于模拟图形界面的程序,但是不显示在硬件上,
安装BlackBerry编译必须的类库:
sudo apt-get -y install libxpm-dev libxt-dev libxtst-dev libx11-dev libice-dev libsm-dev libc6-dev
安装Xvfb:
sudo apt-get -y install xvfb
sudo apt-get -y install aptitude
sudo aptitude -y install x11-xkb-utils
安装字库
sudo aptitude -y install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
sudo aptitude -y install xserver-xorg-core
安装完成后确认无误了。
启动Xvfb
无论使用命令行还是BB ANT TOOLS都需要启动xvfb
Xvfb :1 -screen 0 800x600x24&
export DISPLAY=localhost:1.0
1、从windows的BB ECLIPSE PLUGIN中找到eclipse\plugins\net.rim.ejde.componentpack4.7.0_4.7.0.53\components\bin\SignatureTool.jar
这个文件是JAR格式,可以单独运行,签名就靠这个文件了,
可以将这个文件放到linux的一个固定位置,比如 /home/wangxinfeng/bbsdk/bin/文件夹下。
2、COPY你的sigtool.csk,sigtool.db这2个文件到SignatureTool.jar的目录中/home/wangxinfeng/bbsdk/bin/,
sigtool.csk,sigtool.db 这2个文件是你使用的RIM官方发给你的三个CSI文件生成的文件,怎么生成可以看一下RIM发送CSI的邮件。
3、你可以运行命令行java -jar -p 密码 -a -c xxx/xx.cod , (xxx/xx.cod这个代表.cod文件所在路径)
4、签名成功,你的申请签名的邮件中会有相关的签名成功提示。
如果你不想使用命令行,可以使用BB ANT TOOLS
我使用的是这样的
<sigtool jdehome="/home/wangxinfeng/bbsdk/" codfile="${output.dir}/${program.name}.cod" password="${password}" forceclose="true" close="true"/>
jdehome是我设置的,/home/wangxinfeng/bbsdk/bin下面放了签名工具、签名密钥文件等。
BB ANT TOOLS 和ANT脚本怎么写,可以参考我的BLOG以前写的文章。