llzen
June 1, 2023, 1:56pm
#1
Hi all
Wanted to know if Android support is still maintained.
Given that the required NDK version (r15c) is quite outdated and not even mentioned in the Google developper site and the API level 25 is quite old as well (Android 7.1), I was wondering if someone managed to build the framework and samples with more recent NDK/SDK/gradle versions
Thanks
Hello @llzen
There is a work in progress pull request of lots of updates for Android.
I don’t know if it is already functional but you can see the changes here
openframeworks:master
← danoli3:android_fixes
opened 08:59AM - 15 Sep 21 UTC
### The Great Android Update
Currently still WIP and have to code review cleanu… p before merge However! For those curious
**Android Studio 2020.3.1 Support**
- Gradle Updated Build Gradle 7.0.0 / 7.10.0
- Android X Supported
- NDK 23.1.
- All Architectures Supported = 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
- CMake Build System Support
- Android.mk Build System
- Reduced dependancies with C++17
- Build Tools 31.0.0
- Supports All API's from 18->31 (Android 5 all the way to Android 12/Android 11)
- Gradle Implementation updated to latest android
- Dependancies Updated compiled with NDK via Apothecary and updated for all achitectures
- FreeImage Patched for Android / C++17
- ReLinker for System.Lib Load (Google Recommended)
- Supports different Frame Rates of the device now, returning max by default, configurable) - 90 hz phones, 120 hz, 240 hz, 30 hz etc. Can be dynamically changed in app
- Can Build Android Bundles / Signed Releases
- Compatible now with all external Prefabs/implementations via gradle and newer NDK's
- High performance MSAA options
- GL Surface Rebuildable at any time
- Tested across All API's
**Android Bug Fixes**
- Performance increased so much (13ms->2ms same code in tests)!
- Life Cycle Fixes - The prior attempts at lifecycle fixes for GL Context and Surface pausing/re-loading all failed across numerous API's for various reasons. These have all been fixed and tested across all API's.
- Fix countless crashes
- Sound Engine Fixes
- SD Card / Reading / Location Fixes
- Permission Fixes
- More to list
- Windowing Fixes
- GL Threaded Key Events / Controller
Download external built libs here via apothecary https://github.com/openframeworks/apothecary/pull/201 (NDK 23.1 Compiled:)
https://drive.google.com/file/d/1nEXqXR97UhHvoDJpRBOlu_Sc9E4h6dsT/view?usp=sharing
Extract the libs from zip into openFrameworks/libs/ *
**TODO:**
- [ ] Code Cleanup / Review
- [ ] Adapt scripts to support project builder / ofxAddons variables for extra Java, Cpp source and ability to add external libs
- [ ] Update Examples
- [ ] Looking at Oboe sound engine replacement for ofSoundPlayer candidate
- [ ] ANGLE Automatic Android OpenGL ES 1/2.0/3.0 to Vulkan for API >24 with no OpenGL ES code changes as optional dependancy lib / example !><<!!
llzen
June 2, 2023, 6:52am
#3
Hi @dimitre
Indeed, looks very promising. Will definitely give it a try.
Thanks for the lead