apply plugin: 'com.android.application' android { compileSdkVersion 29 externalNativeBuild { cmake { path "CMakeLists.txt" } } signingConfigs { juceSigning { storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" storeType "jks" } } defaultConfig { applicationId "com.juce.pluginhost" minSdkVersion 23 targetSdkVersion 29 externalNativeBuild { cmake { arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DCMAKE_CXX_STANDARD=14", "-DCMAKE_CXX_EXTENSIONS=OFF" } } } buildTypes { debug { initWith debug debuggable true jniDebuggable true signingConfig signingConfigs.juceSigning } release { initWith release debuggable false jniDebuggable false signingConfig signingConfigs.juceSigning } } flavorDimensions "default" productFlavors { debug_ { ndk { abiFilters "armeabi-v7a", "x86" } externalNativeBuild { cmake { arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" } } dimension "default" } release_ { externalNativeBuild { cmake { arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" } } dimension "default" } } variantFilter { variant -> def names = variant.flavors*.name if (names.contains ("debug_") && variant.buildType.name != "debug") { setIgnore(true) } if (names.contains ("release_") && variant.buildType.name != "release") { setIgnore(true) } } sourceSets { main.java.srcDirs += ["../../../../../modules/juce_core/native/javacore/init", "../../../../../modules/juce_core/native/javacore/app", "../../../../../modules/juce_gui_basics/native/javaopt/app"] main.res.srcDirs += [] } repositories { } dependencies { } }