Android++ is now open-source and publicly available via GitHub.
There were a multitude of reasons preventing this move in the past, but thankfully I’m finally able to release the code for version 0.7.x. A lot of you will either be using Visual Studio 2015’s Android support, or weighing up the merits of doing so – but I intend to keep this project alive for as long as I feel it offers a suitable alternative.
Even with Visual Studio 2015 Update 1, Android support still has a long way to go in terms of matching the build performance offered by Android++. This project was designed to help real-world C/C++ projects (mainly in the Games industry), so there are various optimisations and unique approaches that are still of value (and worth sharing).
Please feel free to view the source code, and see if there are any parts of the Android++ that might be worthwhile.
Version 0.4.0 is the second major release of Android++ and comes with a large number of new features which have been developed over the last few months. It adds support for debugging native applications on Android L devices, and also includes integrations for ProGuard, Multi-dex files and 64-bit architecture toolchains.
Probably the biggest news, however, is that Android++ is now fully compatible with Microsoft’s Visual Studio Community 2013. Much like previous ‘Express’ releases of Visual Studio products, ‘Community 2013’ is completely free for most developers – but addresses certain restrictions in Express Editions that prevented support from third-party extensions. As a result, you can now use the free Android++ extension with a free version of Visual Studio!
Download 0.4.0 now, or read the full change-list (as follows):
– Added support for Android L Preview and Android Lollipop.
– Added a custom-built version of ‘zipalign’ to support APK archives above 2GB.
– Added a custom-built version of ‘ndk-depends’ to manually supply up-to-date listings of internal device libraries.
– (MSBuild) Added support for NDK r10c and 64-bit targets. Currently only ‘arm64-v8a’ supported.
– (MSBuild) Added support for armeabi-v7a-hard (hard-float).
– (MSBuild) Added support for whole program optimisations via ProGuard integration.
– (MSBuild) Added support for automated exporting of multi-dex compatible Dalvik executables. (https://developer.android.com/tools/building/multidex.html)
– (MSBuild) Added toolchain configurations for GCC 4.9, Clang 3.4, and Clang 3.5.
– (MSBuild) Improved identification of exported scripts; version descriptors are now copied alongside each platform.
– (MSBuild) Fixed an issue causing Java compilation to occur only on BuildConfig.java and R.java files, despite lack of project .java sources.
– An r10 derivative release of the Android NDK is required in order to target 64-bit architectures.
– (MSBuild) ProGuard configuration scripts (named ‘proguard.txt’ or ‘proguard-project.txt’) can now be placed alongside an AndroidManifest.xml
Today marks the first public release of Android++!
It’s a momentous moment for me – the culmination of around two years of work on this project. Whilst development has been lengthy, it has also been extremely rewarding. The closed Beta was reasonably successful, a good way to remove a lot of teething problems. In hindsight though, I should have provided more visibility as to what was happening and the timelines involved. The project has seen a dramatic evolution over this period and feels much more professional as a result. Thank you very much to those who have provided support and feedback thus far.
The project is released under a modified zlib license. Please ensure you agree to this before downloading. Ideally this should be permissive enough for everyone to use this software. Documentation and samples are provided to help you get started, though inevitably these will need to be developed over the course of coming releases.
Please continue to check back for further updates.
Firstly, can I start by thanking all of you who have showed such an interest in Android++ over the last few days. I’ve been amazed at the sheer quantity of people sharing this website, and contacting me with the hope of joining the beta test. I will talk a little more in response to those requests below, but I’d initially like to clear up some confusion as to what exactly Android++ is/does:
Android++ is a freely distributed extension (and collection of MSBuild scripts/build-rules) which augment Visual Studio to support NDK-based “native” development. If you are unfamiliar or confused as to what I mean by ‘native’, it essentially means projects that are targeting applications with predominantly C or C++ sources. In short, it’s intended to support applications where performance is paramount – like a Game or Simulation. It also manages the debugging of those native applications via GDB, which is controllable within the Visual Studio IDE as if you were debugging a Windows application. There is no support for C# or .NET, if you are interested in those please look toward Xamarin or Mono.
With respect to Beta testing, I am still accepting applications, but please note that I will prioritise anyone who has existing Android experience. I’m looking for people who already understand enough about Android and/or Visual Studio that they won’t need a great deal of support. I have already created a few samples to demonstrate integration, but the process of writing documentation can be lengthy. Rollout to registered testers will occur in a staggered fashion over the next few weeks. I’ll be attempting to manage this such that a portion of “new” users are always included per iteration. When registering, please consider taking the time to provide a little extra information about your Android experience and/or projects you hope to use Android++ on – it will help me make a better assessment of where you’d fit in the testing process.
For future updates, bookmark the blog or follow @Quastino.