My practice to port a Qt application among Symbian, MeeGo and Android

Once I decided to port a Qt Quick application from Symbian to MeeGo, I found there are some little problems, including resolutions, file paths and other minor differences.

The porting process was very easy, and took 1-2 hours, but what happens if you need to make some major changes in the application? You will need to get all changes manually from first application and put them in second one. This sounds easy, but some times is not so.

Configure git to manage ports

To make your life easy, you can use the following process.

  1. Create a git / mercurial repository for your base project. (I use bitbucket.org [bitbucket.org])
  2. Once your Symbian or MeeGo (main project) is done, or you want to see your work also on other platforms, create a branch on git/mercurial, (e.g. Symbian) and commit your work under this branch.
  3. Clone your project into another directory, and create a new branch for it (e.g MeeGo) and commit the new created branch.
  4. Make your modifications for MeeGo project to match the UI, and work as it work on Symbian platform.
  5. Commit your MeeGo modifications into MeeGo branch.

Updates after the port

Now you will want to complete your Symbian application or add more functionality and fix bugs.

  1. Come back to your Symbian version of project and make all your wanted changes.
  2. Commit your changes into Symbian branch.
  3. Go to your MeeGo project into git/mercurial workbench
  4. Select the latest Symbian commit, and choose “Merge with local”
  5. Now all modifications on Symbian Branch are also available on MeeGo, and all your old MeeGo modifications are still in MeeGo project.
  6. Make your needed modification in MeeGo project based on the Symbian changes.
  7. Commit your work into “MeeGo” Branches.

Now you have both Symbian and MeeGo applications in sync, in few easy steps

Porting to other systems

  1. Clone Symbian project into new directory.
  2. Commit your cloned project into another branch (e.g. Android)
  3. Follow the steps from Symbian tot MeeGo port, but using the “Android” branch instead MeeGo

Categories: