IoT-Gadgets-Logo-272-90

Running EFL Apps on Tizen

I’m excited to report that I’ve got a demo of a native App running on Tizen! And what I mean by native is, compiled C programs and not HTML5 + Javascript Apps. The App is EFL (Enlightenment Foundation Libraries) based, alsoa good point to notice here is that all the Apps that come with your phone ( Calendar, Dialer, Contacts, etc.) are EFL based as well. And the best part of it is that the company that I work at (ProFUSION) is a big EFL project contributor, so we have plenty of in-house experience with it.
By
Ash
 - 
Jul 18, 2012

I’m excited to report that I’ve got a demo of a native App running on Tizen! And what I mean by native is, compiled C programs and not HTML5 + Javascript Apps. The App is  EFL (Enlightenment Foundation Libraries) based, alsoa good point to notice here is that all the Apps that come with your phone ( Calendar, Dialer, Contacts, etc.) are EFL based as well. And the best part of it is that the company that I work at (ProFUSION) is a big EFL project contributor, so we have plenty of in-house experience with it.

The App is  called Econcentration and it is a memory game. Although the App is already coded and working, I had to make some modifications to make it look better in the small device’s screen, like changing the images and the layout of the game. I will not explain the code in this post because I’m explaining how to run the game in the phone and not how to write EFL based programs. But you can take a look at the source code.

Before we start, make sure you have alien installed. It will be used to generate the deb packages. If you are using Ubuntu or a Debian distro you should install using this command:

 

1sudo apt-get install alien

 

Also we must compile our game using a tool called SBS. But don’t panic, you can check the installation instruction and exactly what SBS is here:https://source.tizen.org/platform/development-sbs/installing-sbs

  • Emulator

First we need to install the elementary dev package:

 

1sbs -A i386 -et apt-get install libelm-dev

 

Then we go to the game’s source folder and execute the following commands:

 

1sbs -A i386 -e ./autogen.sh --prefix=/usr
2sbs -A i386 -e make
3sbs -A i386 -e make install DESTDIR=$(pwd)/tmp

Now that we have the game compiled we must generate the debian package:

1cd tmp
2tar -czf econcentration.tar.gz .
3cd ..
4fakeroot alien econcentration.tar.gz

Then, we send the .deb package to the emulator, install it and we’re ready:

1sdb push econcentration_1-2_all.deb /tmp
2sdb dpkg -i /tmp/econcentration_1-2_all.deb
3sdb shell econcentration --mobile
  • Dev Phone

To generate the deb package to the device we will have to modify our sbs commands, because the phone is ARM based and not x86. But it’s basically the same thing.

Install the elementary library for the ARM environment

1sbs -et apt-get install libelm-dev

Game’s source folder:

1sbs -e ./autogen.sh --prefix=/usr
2sbs -e make
3sbs -e make install DESTDIR=$(pwd)/tmp

Creating the deb package

1cd tmp
2tar -czf econcentration-arm.tar.gz .
3cd ..
4fakeroot alien econcentration-arm.tar.gz

Pushing, installing and execute it:

1</p>
2sdb push econcentration-arm_1-2_all.deb /tmp
3sdb dpkg -i /tmp/econcentration-arm_1-2_all.deb
4sdb shell econcentration --mobile

And these are the picture of the game running in the emulator and in the phone:


That’s it, now that we are able to run native Apps things might be more interesting. :)

The Debian package for ARM device and the images:http://people.profusion.mobi/~iscaro/

The source code:

http://trac.enlightenment.org/e/browser/trunk/GAMES/econcentration – To see in the browser

svn clone: svn co http://svn.enlightenment.org/svn/e/trunk/GAMES/econcentration/

git-svn clone: git svn clone http://svn.enlightenment.org/svn/e/trunk/GAMES/econcentration

 

Source Iscaro's

IoT-Gadgets-Logo-272-90

About us

IoT Gadgets is dedicated to bring you all the Internet of Things IoT news that pertains to gadgets. Simple. We love for you to join us on this journey.

Contact us: [email protected]

FOLLOW US

crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram