JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
I have a working project setup for JUCE CMake + Android which you do not support yet, at https://github.com/atsushieno/android-juce-cmake . It is almost without changes to JUCE 6.0.6, except for one liner change; we need juce_CreateApplication() exposed in the app shared library.
It is NOT required IF the entire application is compiled as libjuce_jni.so like existing Android apps. It is required whenever your CMake based application does not name the project as juce_jni (which would be true for 99% of existing CMake based projects) and try to use the identical CMakeLists.txt for Android and any other platforms (which I assume would be true for 99% of JUCE app developers who want to target Android).
I have a working project setup for JUCE CMake + Android which you do not support yet, at https://github.com/atsushieno/android-juce-cmake . It is almost without changes to JUCE 6.0.6, except for one liner change; we need
juce_CreateApplication()
exposed in the app shared library.It is NOT required IF the entire application is compiled as
libjuce_jni.so
like existing Android apps. It is required whenever your CMake based application does not name the project asjuce_jni
(which would be true for 99% of existing CMake based projects) and try to use the identicalCMakeLists.txt
for Android and any other platforms (which I assume would be true for 99% of JUCE app developers who want to target Android).The one liner change is to add visibility attribute at: https://github.com/juce-framework/JUCE/blob/383a4232f095727dc6178ead953e49e12befa072/modules/juce_events/messages/juce_Initialisation.h#L119
The detailed analysis on the problem is described at: https://atsushieno.github.io/2021/01/16/juce-cmake-android-now-works.html