The build.gradle version numbers generated by Projucer need some extra options.
A default project results in something like
android { compileSdkVersion = 10 buildToolsVersion = "23.0.1" defaultConfig.with { applicationId = "com.yourcompany.animatedandroidtest" minSdkVersion.apiLevel = 11 targetSdkVersion.apiLevel = 10 } }
On my setup this fails to compile. I am also using level 21 support library. I manually set the build.gradle file to:
android { compileSdkVersion = 23 buildToolsVersion = "23.0.2" defaultConfig.with { applicationId = "com.yourcompany.nativenavigation" minSdkVersion.apiLevel = 11 targetSdkVersion.apiLevel = 23 } }
Setting it to the latest build tools version seemed to get it to work, after setting the compile and target SDK version.
I can't see in Projucer where to set the compile or target SDK version. This is important for those of us wishing to use recent Android support libraries alongside JUCE in our app.
Also, importantly when compiling with SDK versions of 21 and later, we need to set
android.ndk.platformVersion = 19
if we are targeting earlier versions of Android, as version 21 and later no longer provide inline math functions and so compiling JUCE gets lots of compile errors e.g.
dlopen failed: cannot locate symbol "atof"
(There is an alternative which I'm exploring, using the Crystax NDK which is supposed to be a drop-in replacement for Android NDK with much better C++ support inc C++14 and Objective C ... )