For detailed instructions please refer to the wiki at https://bitbucket.org/MartinFelis/love-android-sdl2/wiki/Home.
You can download pre-built Android packages from https://bitbucket.org/MartinFelis/love-android-sdl2/downloads that allow you to run .love files by opening them using a file manager of your choice.
Install the Android NDK and the Android SDK with SDK API 12 and run
and after that
in the root folder of this project or load the project using Eclipse and compile/run it using Eclipse.
This should give you a .apk file in the bin/ subdirectory that you can then install on your phone.
Bugs and feature requests should be reported to the issue tracker at https://bitbucket.org/MartinFelis/love-android-sdl2/issues?status=new&status=open.
- added love.system.vibrate(seconds)
- print statements are now redirected to logcat. Output is prefixed with "[LOVE] "
- removed DevIL, libpng, libjpeg, libmng, and libtiff
- pngs are loaded using lodepng and jpegs using libturbo-jpeg
- repeatedly fixed a bug which caused Release builds to crash
- update to latest mobile-common branch
- using latest SDL_androidgl.c (fixes some random performance issues)
- using latest love-android @ changeset 8659be0e75a3 (adds support for compressed textures)
- uses 0.9.1 API
- fixed crash on Moto G (and possibly other devices). This was a nasty bug that would just show a blue screen without an error message. The bug was resolved using the help of headchant
- fixed loading of jpegs (it probably hasn't worked up to now)
- fixed issues with looping over active touches. This fix was sponsored by slime!
- fixed bug with canvases
- fixed writing of files when no identity in conf.lua was set
- added file association (somewhat experimental)
- fixed nasty crash on startup bug
- fixed love.filesystem.getDirectoryItems()
- Packaged games do not get duplicated for loading, instead are loaded from memory (!!!)
- Using inofficial physfs 2.1
- Removed love.android.getDisplayMetrics(), instead use love.window.getPixelScale()
- Properly link LGPL libraries dynamically. Everything else is linked statically
- Added an icon (design by josefnpat)
- Fixed crash on startup on OUYA (and possibly other devices)
- Exposing DisplayMetrics in love.android.getDisplayMetrics())
- Accelerometer is now available as a joystick
- enabled armv6 compilation (larger files, better compatibility with Tegra2 devices)
- updated to latest mobile-common branch (including (very) basic multi-touch gesture tracking)
- updated OpenAL from 1.13 to 1.15.1
- updated jpeg library from 8c to 9a
- updated lcms from 2.2 to 2.5
- updated libogg from 1.3.0 to 1.3.1
- updated libvorbis from 1.3.2 to 1.3.4
- updated mpg123 from 1.13.4 to 1.17.0
- love.system.getOS() now returns "Android"
- hardware search key is reported as "search"
- switched to mobile-common branch
- using new love.touch module (love.touchpressed(id,x,y,p), love.touchmoved(id,x,y,p), love.touchmoved(id,x,y,p))
- added LOVE_ANDROID define
This project contains code from multiple projects using various licenses. Please look into the folders of jni/<projectname>/ for the respective licenses. A possibly incomplete overview of dependent and included libraries and licenses is the following:
- FreeType2 (FreeType Project License)
- libjpeg-turbo (custom license)
- libmodplug (public domain)
- libogg (BSD License)
- libvorbis (BSD License)
- LuaJIT (MIT License)
- mpg123 (LGPL 2.1 License)
- openal-soft (LGPL 2 License)
- physfs (zlib License)
- SDL2 (zlib License)
This project also includes LÖVE, which itself is licensed under the zlib license but includes the following libraries that are subject to other licenses:
- modified Box2D (original Box2D license is zlib)
- ddsparse (MIT License)
- enet (MIT License)
- glad (MIT License)
- lodepng (zlib License)
- luasocket (MIT License)
- SimplexNoise1234 (public domain)
- stb_image (public domain)
- utf8 (Boost License)
- wuff (public domain)
As for the other code, modifications to LÖVE, and build system files are are published under the zlib license (same as LÖVE).