Basic Symbian knowledge

Source: Internet
Author: User
Tags self signed certificate

1. Symbian is the operating system

Symbian is the same type of operating system as windows. S40 and s60 are based on the Symbian OS platform and provide various interfaces. They are equivalent to an API shell.

2. project directory structure 

Data (s60) Resource specification file (. RSS)

GFX (s60) Application resource files, sample files and sound files

Group project files, such as. MMP and BLD. inf

Image (uiq) Application resource file, Example

INC header file

Rsrc (uiq) Resource specification file (. RSS. RA)

SRC. cpp

3. bld. inf file 

A required text file mainly includes the project definition file and the files required by any other compilation tool.

Prj_platforms // target platform

Winscw armv5 gcce

Prj_exports // project output file

Prj_matrix files // project definition file

Gnumakefile icons_aif_scalable_dc.mk

Myfirst. MMP

4. Project description file. MMP 

Target myfirst.exe

UID 0x100039ce 0xe22dc27e

Vendorid 0

Targettype exe

Epocstacksize 0x5000

Systeminclude/epoc32/include/epoc32/include/variant/epoc32/include/ECOM

Userinclude ../INC ../Data

Sourcepath ../Data

Start resource myfirst. RSS

Header

Targetpath resource/apps

End // Resource

Start resource myfirst_reg.rss

Targetpath/private/10003a3f/apps

End // Resource

Library euser. Lib apparc. Lib cone. Lib eikcore. Lib avkon. Lib

Library commonengine. Lib efsrv. Lib Estor. Lib eikcoctl. Lib eikdlg. Lib

Library eikctl. Lib bafl. Lib fbscli. Lib aknnotify. Lib aknicon. Lib

Library etext. Lib GDI. Lib egul. Lib insock. Lib

Library ECOM. Lib inetprotutil. Lib HTTP. Lib esock. Lib

Lang 01

Start bitmap myfirst. MBM

Header

Targetpath/resource/apps

Sourcepath ../GFX

Source C12, 1 list_icon.bmp list_icon_mask.bmp

End

Sourcepath ../src

# Ifdef enable_abiv2_mode

Debuggable_udebonly

# Endif

Source myfirstcontainer. cpp myfirstcontainerview. cpp myfirstdocument. cpp myfirstappui. cpp myfirstapplication. cpp

Target

This keyword specifies the name of the target file (exe or DLL file.

Targettype

This keyword specifies the type of the target file generated by the project. In the preceding example, an executable file is generated. In most cases, the target file type is DLL, EXE, or other plug-ins (plugin ).

UID

The target (usually the executable. EXE or. dll file) has three UIDs, which are used to identify components. The first uid does not need to be specified. Because it is automatically assigned by the compilation tool based on the target type. Therefore, what is specified here is actually uid2. This value further specifies the target type. In the above example, the value (0x100039ce) indicates that the target file is an application procedure, the Symbian system uses this value to identify all applications. The next specified uid is unique for each application. It identifies the registered resource file of the application and the installation package file. PKG of the program. Therefore, to ensure the uniqueness of this value, you must apply for this uid from Symbian and assign a UID to your application from the database. You can go to the Symbian website to learn more. Some uid values are used for testing. For example, in the SDK, the UID used by the filesystem browser is 0xe80000a6, you can also use this value when testing your application, but be careful not to use it in your final product.

SecureID

This is an optional key, which is not shown in the above example. This keyword defines a security identifier for the application to indicate which private directory the program can access. If this keyword is not used, use uid3 instead.

Vendorid

This keyword is added in Symbian OS v9.1. Specifies the ID of the software provider. This keyword is not required and can be omitted.

Capability

This is a newly added keyword for Symbian OS 9.1. This keyword indicates the application's permissions (or capabilities, such as Viewing System Directories ).

Sourcepath and Source

The source keyword specifies which source files and resource files need to be compiled, and the sourcepath keyword specifies the location of these files. This location can be either a relative path (relative to the MMP file) or an absolute path.

Systeminclude

This keyword specifies the location of the system header file. The system header file is usually included in the # include <> statement.

Userinclude

This keyword is similar to systeminclude, which specifies the location of the custom header file.

Start resource... End

The START resource keyword indicates the start of an information block, which indicates how to compile the resource file. End indicates the end of the information block.

Targetpath

This keyword is used to specify the location of the compiled resource file. Note: Due to security considerations, all executable code (exe or DLL) runs from the/sys/bin/directory on the mobile phone. You do not need to use this keyword to specify a location for executable code. The targetpath keyword is only used to specify the location of the compiled resource file.

Header

This is an optional keyword. When it is used, the system will create a resource header file (. RSG) in the/epoc32/include/path ). This header file contains identifiers that allow reference to a specific resource with C ++ code.

Library

This keyword lists the library files that the application needs to connect.

Staticlibrary

This keyword is used to specify the library file to be statically linked (the code in the library file will be linked to your program, rather than loaded into the memory only when necessary ).

Start bitmap... End

This section contains the bitmap used by the application icons, and how to compile these bitmaps into. MBM (Symbian system proprietary image format.

Epocstacksize

This keyword is optional and is not used in the above example. In earlier versions of Symbian OS, the default stack size is 0x5000 bytes. In v9.1, the default value is 0x2000. This keyword can be used to increase the stack size. For example, epocstacksize 0x5000. Note that stack settings are only valid for real devices, but not for simulators.

Epocheapsize

This keyword is optional and is not used in the above example. This keyword specifies the maximum and minimum heap space that an application can use. By default, 4 k is the minimum size, and 1 m is the maximum size.

5. gcce and arm versions: 

The version of the program running on the real device is different from the version of the program running on the simulator. The version running on the device must be gcce or arm. The gcce version uses the compiler that comes with the SDK. You do not need to pay for it. The arm version is dedicated to the ARM platform. The Code has been optimized and the performance is better than that of the gcce version, but payment is required

6. Sis and. PKG 

After creating the gcce version of the application, you need to create a Symbian installation file (. SIS ). In essence ,. the sisfile is just a compressed file, which contains the EXE, DLL, RSS files required to form the application, and information required when some mobile phones receive applications (such as: Language type, application UID ). The question is, what information should we use to create this sisfile? The answer is the PKG file. Before creating this file, you must first create a PKG file, which contains some useful information, including the directory under which the project file is copied to the mobile phone, program version

7. Sign 

When developing s60 3rd applications. the SIS file must be signed before it is installed on the mobile phone. if your program does not use capability or only uses utility, you can use self signed certificate ). This method is especially useful when debugging programs on your mobile phone.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.