Info: How to make a standalone application (using py2sis)

For PC only: (Symbian does not provide SDK's for MAC, so you can not do this on MAC)

First of all you need to have the following software installed installed on your machine:

A. Symbian SDK

B. Python plug-in for the SDK

To get the A. Symbian SDK, go to www.forum.nokia.com/main/0,,034-4,00.html
Choose from the download menu: 2nd Ed, FP2 (146268kB)
This will get you the s60_2nd_fp2_sdk_msb.zip file, unzip it and run the setup.exe file to install the SDK (Which SDK is the correct one depends on your phone model. The one referred to in here is for Nokia 6630).
(Hint: when running Python_for_2ndEd_FP2_SDK.exe make sure that the following data appears in the list where it is told where software components will be installed:
Symbian SDKs for Series 60 EPOCROOT Folder      C:\Symbian\8.0a\S60_2nd_FP2 )

After that you need to install B. the Python plugin Python_for_2ndEd_SDK.exe
It is included in the PythonForSeries60_1_2_for_2ndEd_SDK.zip file that you have probably downloaded already when you installed your Python interpreter on the phone.
Run the Python_for_2ndEd_SDK.exe file, it will install among other things also the needed py2sis tool. (If you encounter problems in installing these software, check some hints below).

NOTE:
you need to add to your path:
C:\Nokia\Tools\Python_for_Series_60\py2sis
(in windows open control panel -> system -> Advanced tab -> Environment variables -> select PATH from the list -> Edit -> variable value)

Now you are set to create your standalone application (creating a *.sis file).

Here is how you make a simple standalone app - a *.SIS file - out of your python script:

On your PC create a folder named e.g. myapps (C:\myapps)
Then save your python script e.g. named test.py which you want to turn into a standalone app inside that folder.

Open a command line terminal e.g. via windows start -> Run -> type in: cmd
(It shows e.g. C:\Documents and Settings\Administrator> )

On the command line terminal go to the myapps folder by typing: cd C:\myapps
( C:\Documents and Settings\Administrator>cd C:\myapps
It should then show: C:\myapps> )

On the command line terminal type:
py2sis test.py myfirst.sis --uid=0x0FFFFFFF --appname=test

(C:\myapps>py2sis test.py myfirst.sis --uid=0x0FFFFFFF --appname=testing )
Where:
test.py - src - Source script - your python script
myfirst.sis - sisfile - Path of the created SIS
uid=0x0FFFFFFF - uid - Symbian UID for the app
appname - Name of the application

The result is a file called myfirst.sis found in your C:\myapp folder. This is your standalone application which you can push to your phone, install and run.

You can test the making of a standalone app using this example test.py script.
The result file should be like this myfirst.sis.

 

How to make a standalone app including own icons:

You can use an own icon (icon1) for your application on the desktop of the phone as well as an own image (icon2) on the top of the canvas when running your app (instead of the snake).

In order to create these icons you can use e.g. a graphic editor like photoshop or fireworks:

icon1 for the desktop:
Create 1 icon + 1 bit mask for it, both 44 x 44 pixels in size, save them e.g. named as icon1.bmp icon1mask.bmp
Examples: icon1.bmp icon1mask.bmp

icon2 for the top of the canvas when running your app:
Create 1 icon + a 1 bit mask for it, both 42 x 29 pixels in size, save them e.g. named as icon2.bmp icon2mask.bmp
Examples: icon2.bmp icon2mask.bmp

Note:
regarding the 1 bit mask: things that need to be transparent in the desktop icon shall be white in icon1mask.bmp and areas that are visible in the desktop icon shall be black in icon1mask.bmp.

Now you need to create an mbm file with your created *.bmp files using a tool called bmconv that came with the Symbian SDK intallation. You can do this e.g. by using the command line terminal:
(mbm files (MultiBitMap) are pictures in native Symbian OS format. MBM files can consist of either one or multiple pictures (frames)).

Save first all your created *.bmp files to C:\myapps

On the command line terminal go to the myapps folder by typing: cd C:\myapps

On the command line terminal type:
bmconv testapp.mbm /c24icon1.bmp icon1mask.bmp /c24icon2.bmp icon2mask.bmp

The result is your testapp.mbm file.
Example: testapp.mbm

Hint: make sure you add c24 as 24bit colour picture in front of the icon.bmp and leave no space inbetween in the command line terminal.

 

Now you need to create an *.aif file out of your created testapp.mbm file using a tool called aif tool that came as well with the Symbian SDK intallation. But in order to do that you need to have a *.rss file. You can use this myrssfile.rss file and modify it (e.g. with notepad) according to your own app (modifying instructions are inside the *.rss file). Save the myrssfile.rss file also to you myapps folder.

Create the *.aif file e.g. by typing on the command line terminal:
aiftool myrssfile testapp.mbm

Example of the ready myrssfile.aif

As a next step you need to create a *.sis file as a substep, type:
py2sis test.py myfirst.sis --uid=0x0FFFFFFF --appname=test --leavetemp

As a result you find inside your myapps folder a folder called temp, in which you find a mysfirst.pkg file. Raw example: mysfirst.pkg

Edit the mysfirst.pkg file (e.g. with notepad) according the instructions inside the file.

Save the mysfirst.pkg file to your myapps folder.
Edited example: mysfirst.pkg

Create now your final myfirst.sis file by using this time the makesis tool:
makesis myfirst.pkg

Fina example: myfirst.sis

 

How to make a *.SIS file that includes the python interpreter, so you can ship your app to people who do not have the python interpreter installed previously:

 

Copy the Python interpreter file pythonForSeries60.sis into myapps directory, then go into temp directory and

edit the .pkg file (e.g. with notepad):

add at the end a line

Add the UID of each of the SIS file that you add e.g. of the pythonForSeries60.sis (it is ....)

(if you do not know the UID of an .SIS file you need to open the .sis file in an HEX-editor (e.g. ... and the first 4 HEX strings are it)

@"PythonForSeries60.sis",(0x10201510)

save the myfirstwpy.pkg file

Example of edited myfirstwpy.pkg file

run:
makesis test.pkg

 

In the same way as you included the python interpreter, you can also include other *.sis files e.g. of python extensions that other people have created and of which you want to use some functionalities.

 

Python Plug-ins for the Symbian SDK:

PythonForSeries60_1_2_for_1stEd_FP1_SDK.zip

PythonForSeries60_1_2_for_2ndEd_FP1_SDK.zip

PythonForSeries60_1_2_for_2ndEd_FP2_SDK.zip

PythonForSeries60_1_2_for_2ndEd_FP3_SDK.zip

 

 

Few helpful links:

http://www.newlc.com/article.php3?id_article=197


http://www.newlc.com/recherche.php3?recherche=create+mbm+

http://www.newlc.com/recherche.php3?recherche=bmconv

 

 

 

 

 

 

 

 

 

 

Previous|Next | Menu         Copyright (c) 2006 Jurgen Scheible