A compatibility layer for applications packaged as ".apk".
2014-03-22 A new release, apkenv 42.7.0 is out. This release fixes the missing depth buffer problem (rendering artifacts) on Fremantle and Harmattan, includes lots if improvements with new debugging options, stability and compatibility fixes for Fremantle, as well as a brand new support module for Petals Redux. For your convenience, N9/N950 apkenv builds are available below.
2013-04-22 Two new support modules have now been merged and are ready for testing. Thanks to notaz and liar for their respective modules.
2013-04-10 New work-in-progress module by liar has been announced on TMO. See pull request 9 for more information.
2013-03-03 Coverage of apkenv for Pandora by PandoraLive.
2013-01-09 crowriot has ported apkenv to the OpenPandora games console.
2012-12-23 I've added two incomplete support modules to the repository that still need some work. Also, apkenv 42.3.14 was released.
2012-12-21 Art-O has contributed a new module for FN - again, you'll find it int the Git repository.
2012-12-20 Art-O has contributed a new module for AB - you'll find it in the Git repository.
2012-11-19 apkenv source code released. Happy hacking!
2012-11-16 Wrapper generator scripts source code released.
2012-11-03 The old binaries are outdated and should not be used anymore.
2012-10-21 Project announced, initial proof-of-concept released.
Only use this compatibility layer for applications that you have the rights to use. If you are unsure, DO NOT use this compatibility layer, and use Nitdroid instead, which is also able to run .apk files on the target devices (and all of them, instead of only a very small subset).
This project is a proof-of-concept on how applications targetting one platform can be made compatible with not so much effort as initially thought.
You can find the source code for apkenv on Github:
- Main apkenv repository: github.com/thp/apkenv
- Wrapper generator scripts: github.com/harmattan/apkenv-wrapper-generator
- apkenv 42.7.0 (2014-03-22) for MeeGo 1.2 Harmattan (Nokia N9, N950)
Building from source
You need the Harmattan Platform SDK (or Fremantle Platform SDK) to
build apkenv. On Fremantle, you need
addition to all normal build dependencies. I usually build it like
make clean DEBUG=0 make make strip scp apkenv *.apkenv.so firstname.lastname@example.org:
To build for Maemo 5 (Fremantle), use the following command instead
The following apps are supported "officially", with apk files freely available for you to try apkenv with.
Harmattan (N950, N9)
apt-get install libsdl1.2 libsdl-mixer1.2 libgles1-sgx-img
apt-get install libsdl1.2 libsdl-mixer1.2 libgles1-sgx-img libsdl-gles1.2-1
The Bionic libraries that you might need are available in the
libs/ folder in the source repository, and are taken from
Nitdroid Alpha 4.
The following support modules are available:
- generic: Generic JNI_OnLoad module
- trg2: That Rabbit Game 2
- petalsredux: Petals Redux
If you know of an open source Android game that uses OpenGL ES and the NDK, or if you are the author of a (possibly closed source) game and want to add support for your game, get in touch or submit a patch.
You alone are responsible to check if you have the necessary rights to use this layer with any specific apk file. Please be sure to read the Disclaimer above!
The apkenv code written by me is licensed under a Simplified BSD License.
This application incorporates parts of the Bionic C library, the Bionic linker and libnativehelper under the Apache License 2.0.
This application incorporates parts of Minizip under the zlib license.