Experimental Plugin for Android Audio App Development with Superpowered Audio SDK

Patrick Vlaskovits

We’ve updated the Superpowered Audio SDK, and the biggest news is the compatibility of the Superpowered Android example projects to the Android Studio Gradle Experimental Plugin.

A high performance Android audio application’s code consists of two fundamental parts: Java and C++. These parts are built and handled separately, and then the ugly JNI (Java Native Interface) connects the two code-bases together.

Previously, developers had to set up the native build process in Android.mk and Application.mk files, then attach this process to the build.gradle to have one build for the entire application. Setting this up correctly is complex and time-consuming, with various settings scattered across multiple configuration files. Developers have spent days in set-up alone.

Historically, Android Studio has not played well with C++ code, but the situation has improved. Apart from complex set-up, a major pain point was the lack of support for static libraries, despite that many high performance audio, video and other libraries (such as Superpowered) are often critical for native development.

Previously, the only way to support static libraries was the aforementioned separate native build process, but in order to do that, developers had to hack the build.gradle to hide the C++ sources from the project tree at time of the build.

In other words, developers could see and browse C++ files to write code, but could not build and debug in this “mode”. During building and debugging, C++ files had to be hidden. Switching this involved a gradle sync too, making the build time longer.

Android Studio before the experimental plugin

The system was anything, but developer friendly.

Fortunately, we now have the Android Studio Gradle Experimental Plugin, which has much better C++ support and can finally handle static libraries too!

Almost every build config can be placed now into the build.gradle of the app module, including platform-specific .a file handling, and multiple C++ source folders. At last, Android Studio feels like a “complete” development environment, where building and debugging is just a matter of hitting a button.

The overall feeling is still far from the compactness and integrity of Xcode or Visual Studio, but if you’ve done Superpowered audio app development in Android before, you will immediately feel the improved comfort and speed.

Android Studio with the experimental plugin

If you’re developing for Android, make sure to download the latest Superpowered Audio SDK today.

  • Android Audio
  • Experimental Plugin
  • Android Studio