Symbian 开发环境搭建

来源:互联网 发布:微信 矩阵 小矩阵 编辑:程序博客网 时间:2024/04/30 08:43

安装一:

我的安装过程:
第一步:安装perl和java运行环境(J2RE);
第二步:安装Carbide.c++;
第三步:安装S60 3rd MR SDK,接着安装Extensions plug-in。
的顺序安装后点击Carbide.c++却弹出对话框:

安装完后出现的问题是:

  Carbide C++不能正常启动,提示:JVM terminated code=-1


 

我的是XP:

ActivePerl-5.6.1.638-MSWin32-x86.msi
jdk-1_5_0_07-windows-i586-p.exe
Carbide.c++_v1.3.exe
S60-3.2-SDK-f.inc3.2130.zip

按顺序安装就可以了


安装二:


我的版本以及安装方法:
1、ActivePerl-5.6.1.635-MSWin32-x86.msi
2、FEATURE PACK 2, FOR C++      08.10.2007
3、Carbide C++ 1.3
4、jdk-1_5_0_07-windows-i586-p.exe

先安装JDK,然后安装ActivePerl,安装完毕后需要设置系统环境变量,设置方法参考如下:
JAVA_HOME=D:/Java/jdk1.5.0_07
path=%JAVA_HOME%/bin;%path%
classpath=%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
设置完毕后最好重新启动一下计算机,然后安装SDK,最后安装Carbide C++1.3。
最后一步不要着急打开Carbide C++1.3,需要在系统目录中的tmp 以及temp环境变量改为简短路径,例如我的改成了r:/tmp或r:/temp,否则在Carbide C++中将无法打开模拟器。剩下的则Have good feeling了。

(由于我的手机是N81为FP1版本,昨天刚刚下载了FP1还没有测试,不过估计应该是没有太大的问题的。)



安装三:


1、安装相关SDK及VC
Nokia根据手机的屏幕大小和价格高低把手机分成了多个系列,现在使用的系列有:Series 40、Series 60、Series 80 和Series 90。60系列采用Symbian os 6.1,然后又根据手机屏幕的特点对UI做了一些修改,这个被修改了的Symbian就被称为Nokia的60系列平台。使用60系列的手机型号包括:Nokia 6670、 Nokia 6630、 Nokia 6260 、Nokia N-Gage QD 、Nokia 7610 、Nokia 6620 、Nokia 3620 、Nokia 3660 、Nokia 6600 、Nokia 3600、Nokia 3650、Nokia 7650、Nokia N-Gage?等。

下面我们就以60系列为例,介绍SDK的安装过程。
1.1 :安装SDK
第一步:到Nokia论坛注册,下载最新的SDK。Nokia 网站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。
第二步:下载最新的Active Perl Script. 安装程序, 下载最新的J2RE(Java 2 Runtime Environment)。
第三步:安装SDK,推荐为Symbian开发单独建一个目录,例如d:/Symbian而不是使用C:/program files等这样的目录。
第四步:安装Active Perl和J2RE,安装到默认目录即可。
第五步:检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“/” 。改完之后应该是这个样子的:
EPOCROOT = /
然后,在系统PATH中加入 /epoc32/tools目录以及/epoc32/gcc/bin目录就可以了。
实际上,Symbian SDK根本不用安装,直接把epoc32目录拷贝到一个机器上,然后照上述方法设定目录和环境变量就可以了。

1.2 :配置VC
如果我们使用的是VC 6.0,我们要保证系统至少打了SP3补丁,否则系统会有警告提示。如果我们使用的是VS.NET2003, 我们就只能安装Series 60 SDK for Symbian OS v2.1,因为Series 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003无法正确建立工程。
如果要直接在vc6里创建新项目,要把 /Symbian/6.1/Series60/Series60Tools/ Application Wizard目录下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷贝到vc6的模板目录C:/Program Files/ Microsoft Visual Studio/ Common/ MSDev98/ Template下。这样我们就可以在VC的新建工程中看到Series 60 AppWizard v 1.9这个选项。
如果要将已经建立好的工程导入到VC6.0中,比如我们将SDK中的例子HelloWorld转换成一个VC6的项目,我们首先进入/Symbian/6.1/Series60/Series60Ex/HelloWorld目录。在这里我们可以看到,在Symbian中,一个Project通常是按inc, src, group等目录组织,group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入该目录下,然后执行:
bldmake bldfiles
这个命令会在group目录下生成一个abld.bat的批处理文件,并且会在/Symbian /6.1/Series60/Epoc32/BUILD下生成/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN /6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP这个目录,并在最底层目录下生成一堆 .make文件。
然后,我们在同一个目录运行刚才生成的abld.bat:
abld makefile vc6
这样就会自动生成vc6的dsw文件,位置在/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP/HELLOWORLD/WINS。然后我们就可以在VC6种打开这个 Symbian工程了。

2. 编译
我们可以直接使用SDK提供的工具编译Symbian 工程,也可以使用VC6提供的集成环境来编译转化过的Symbian 工程。编译的结果存放在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB/Z/SYSTEM/apps目录中。

2.1使用SDK提供的工具编译Symbian 工程
我们在上一节的那个位置继续输入:
abld build wins udeb
这个命令会编译我们的程序,最后在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目录下生成我们的 helloworld,然后我们可以从开始菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。

2.2 使用VC6编译Symbian 工程
我们直接打开运行abld makefile vc6后生成的dsw文件,VC自动装载转化过的工程。按F7便可以直接编译工程,编译结果同样放在/Symbian/6.1/Series60 /Epoc32/Release/wins/UDEB目录中。然后我们打开模拟器debug 版,就可以看到我们编译好的工程了。

3.在手机上运行程序
我们以SDK 1.2提供的HelloWorld为例,制作可以在手机中安装的.SIS文件:
3.1.检查程序
首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入bldmake bldfiles和abld build wins udeb,然后打开模拟器,检测程序有无错误。
3.2.编译工程
在程序无错误后,在命令行输入abld build armi urel 。执行这个命令之后会在目录d:/symbian/6.1/series60/epoc32/release/armi/urel生成 HELLOWORLD.APP和HELLOWORLD.RSC两个文件。
3.3.建立.pkg文件
在d:/Symbian/6.1/Series60/Series60Ex/helloworld/sis 用记事本建立或者修改工程的pkg文件,内容如下:

; HelloWorld.pkg
;
;Language - standard language definitions
&EN
; standard SIS file header
#{"HelloWorld"},(0x10005B91),1,0,0
;Supports Series 60 v 1.2
(0x101F8202), 0, 0, 0, {"Series60ProductID"}
;
"d:/symbian/6.1/series60/epoc32/release/armi/urel/HelloWorld.APP"-"!:/system/apps/HelloWorld/HelloWorld.app"
"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"-"!:/system/apps/HelloWorld/HELLOWORLD.rSC"

其中,前面"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rsc"是要打包安装的文件,"!:/system/apps/HelloWorld/HELLOWORLD.rSC"是安装的目标位置。在其中要注意的是,我们在目标位置中用“!”代替了实际的盘符。这样做得好处是在用户安装的时候,手机系统会提示用户选择要安装的位置,这就给了用户更大的灵活度,当然也可以写成绝对路径。另外,在Symbian 系统中,安装的应用程序默认位置是“!:/system/apps ”。
编辑好pkg文件后,保存至相应目录。

3.4.打包
在命令行中,转至pkg文件所在目录,运行命令makesis HelloWorld.pkg

3.5. 上传程序
用蓝牙把打包好的程序上传到手机上,安装,ok,整个过程就算成功啦!

下面对关键点做一小结:
===================================
1、要记住的命令,按工程的处理顺序:

bldmake bldfiles -- DOS模式下,在工程的group目录下执行,生成abld.bat,用于后继的工程编译
abld makefile vc6 -- 生成Visusl C++ 6.0的dsw与dsp工程文件
abld build wins udeb -- 生成模拟器上的unicode debug调试版本
abld build armi urel -- 生成手机上运行的unicode release版本
2、相关的几个目录:

生成Visusl C++ 6.0的dsw与dsp工程文件的目录:
/Symbian/6.1/Series60/Epoc32/BUILD/【项目所在的路径名+/Group +/项目名称 】/WINS
项目所在的路径名:如果你的项目是在C:/Symbian_work/HelloWorld/Src下(在该目录下的项目文件按inc, src, group等目录组织),则生成Visusl C++ 6.0的dsw与dsp工程文件的目录是:/Symbian/6.1/Series60/Epoc32/BUILD/Symbian_work /HelloWorld/Src/Group/HelloWorld/WINS下边,啊,真够深的,真不知道Symbian为什么搞这么深的目录!

模拟器unicode debug调试版本生成的程序文件目录:
/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB/Z/SYSTEM/apps/工程名
模拟器epoc.exe文件目录:
/Symbian/6.1/Series60/Epoc32/Release/wins/udeb
生成手机上运行的unicode release版本的程序文件目录:
/symbian/6.1/series60/epoc32/release/armi/urel