S60 开发入门(转)

2024-02-18 22:32
文章标签 入门 开发 s60

本文主要是介绍S60 开发入门(转),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

二.开发环境入门

2.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的安装过程。

2.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。下载网址:http://www.forum.nokia.com/main/0,6566,034-4,00.html

第二步,到http://www.activestate.com 网站下载最新的Active Perl Script 安装程序。到http://www.java.com/en/download/manual.jsp 下载最新的J2RE。

第三步:安装SDK,推荐为Symbian开发单独建一个目录,例如d:/Symbian而不是使用C:/program files等这样的目录。

第四步:安装Active Perl和J2RE,安装到默认目录即可。

第五步:检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“/” 。改完之后应该是这个样子的:

EPOCROOT = /

然后,在系统PATH中加入 /epoc32/tools目录以及/epoc32/gcc/bin目录就可以了。

实际上,Symbian SDK根本不用安装,直接把epoc32目录拷贝到一个机器上,然后照上述方法设定目录和环境变量就可以了。

2.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这个选项.

    填入Project Name 以后,确认。
   
一路“Next”,一个最简单的Symbian应用程序就建立好了。


如果要将已经建立好的工程导入到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.2 编译
我们可以直接使用SDK提供的工具编译Symbian 工程,也可以使用VC6提供的集成环境来编译转化过的Symbian 工程。编译的结果存放在/Symbian/6.1/Series60/Epoc32/ Release/wins/UDEB/Z/SYSTEM/apps目录中。

2.2.1使用SDK提供的工具编译Symbian 工程
我们在上一节的那个位置继续输入:

abld build wins udeb

这个命令会编译我们的程序,最后在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目录下生成我们的helloworld,然后我们可以从开始菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。

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

2.3 打包
我们以SDK 1.2提供的HelloWorld为例,制作可以在手机中安装的.SIS文件:

2.3.1.检查程序
首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入bldmake bldfiles和abld build wins udeb,然后打开模拟器,检测程序有无错误。

2.3.2.编译工程
在程序无错误后,在命令行输入abld build armi urel 。执行这个命令之后会在目录d:/symbian/6.1/series60/epoc32/release/armi/urel生成 HELLOWORLD.APP和HELLOWORLD.RSC两个文件。

2.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文件后,保存至相应目录。

2.3.4.打包程序
在命令行中,转至pkg文件所在目录,运行命令makesis HelloWorld.pkg。之后我们就在同一目录下得到了打包好的.sis文件。

 

2.4 手机测试
将打包好地.sis文件上传至手机中,然后在手机的应用程序管理器中就可以看到我们打包好的文件。选择“安装”命令,系统会提示用户要安装的位置,选择安装位置后,我们制作的应用程序就安装到手机中了。

我们回到手机的主菜单,就会发现新安装的HelloWorld 应用程序。打开运行,结果和在模拟器中看到的基本是一样的。

这篇关于S60 开发入门(转)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/722661

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件