mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Projucer: Bump minimum supported Android API level
This commit is contained in:
parent
ae4bca24f4
commit
80b190b75d
13 changed files with 22 additions and 29 deletions
|
|
@ -74,7 +74,7 @@ of the target you wish to build.
|
|||
- __Windows__: Windows 10 (x86_64, x86, Arm64, Arm64EC)
|
||||
- __Linux__: Mainstream Linux distributions (x86_64, Arm64/aarch64, (32 bit Arm systems like armv7 should work but are not regularly tested))
|
||||
- __iOS__: iOS 12 (Arm64, Arm64e, x86_64 (Simulator))
|
||||
- __Android__: Android 5 - Lollipop (API Level 21) (arm64-v8a, armeabi-v7a, x86_64, x86)
|
||||
- __Android__: Android 7 - Nougat (API Level 24) (arm64-v8a, armeabi-v7a, x86_64, x86)
|
||||
|
||||
## Contributing
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ add_subdirectory (${OBOE_DIR} ./oboe)
|
|||
add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c")
|
||||
set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression")
|
||||
|
||||
add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=23]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_CONTENT_SHARING=1]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=8.0.6]] [[-DJUCE_APP_VERSION_HEX=0x80006]])
|
||||
add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=24]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_CONTENT_SHARING=1]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=8.0.6]] [[-DJUCE_APP_VERSION_HEX=0x80006]])
|
||||
|
||||
include_directories( AFTER
|
||||
"../../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src"
|
||||
|
|
|
|||
|
|
@ -24,11 +24,11 @@ android {
|
|||
|
||||
defaultConfig {
|
||||
applicationId "com.rmsl.jucedemorunner"
|
||||
minSdkVersion 23
|
||||
minSdkVersion 24
|
||||
targetSdkVersion 34
|
||||
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", "-DANDROID_WEAK_API_DEFS=ON", "-DCMAKE_CXX_STANDARD=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
|
||||
arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-24", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_WEAK_API_DEFS=ON", "-DCMAKE_CXX_STANDARD=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
<MODULEPATH id="juce_javascript" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</LINUX_MAKE>
|
||||
<ANDROIDSTUDIO targetFolder="Builds/Android" androidMinimumSDK="23" microphonePermissionNeeded="1"
|
||||
<ANDROIDSTUDIO targetFolder="Builds/Android" androidMinimumSDK="24" microphonePermissionNeeded="1"
|
||||
androidExternalWriteNeeded="1" androidEnableContentSharing="1"
|
||||
androidExtraAssetsFolder="../Assets" smallIcon="YyqWd2" bigIcon="YyqWd2"
|
||||
cameraPermissionNeeded="1" androidReadMediaAudioPermission="1"
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@
|
|||
</LINUX_MAKE>
|
||||
<ANDROIDSTUDIO androidActivityClass="com.juce.audioperformancetest.AudioPerformanceTest"
|
||||
androidCpp11="1" targetFolder="Builds/Android" extraCompilerFlags="-mfpu=neon -mfloat-abi=hard -ffast-math -funroll-loops --param max-unroll-times=8 -mhard-float -D_NDK_MATH_NO_SOFTFP=1 -DJUCE_DISABLE_ASSERTIONS=1"
|
||||
gradleToolchainVersion="3.6" androidMinimumSDK="23">
|
||||
gradleToolchainVersion="3.6" androidMinimumSDK="24">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION name="Debug" isDebug="1" targetName="AudioPerformanceTest"/>
|
||||
<CONFIGURATION name="Release" isDebug="0" optimisation="6"
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ add_subdirectory (${OBOE_DIR} ./oboe)
|
|||
add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c")
|
||||
set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression")
|
||||
|
||||
add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=23]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]])
|
||||
add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=24]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]])
|
||||
|
||||
include_directories( AFTER
|
||||
"../../../JuceLibraryCode"
|
||||
|
|
|
|||
|
|
@ -24,11 +24,11 @@ android {
|
|||
|
||||
defaultConfig {
|
||||
applicationId "com.juce.audioperformancetest"
|
||||
minSdkVersion 23
|
||||
minSdkVersion 24
|
||||
targetSdkVersion 34
|
||||
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", "-DANDROID_WEAK_API_DEFS=ON", "-DCMAKE_CXX_STANDARD=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
|
||||
arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-24", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_WEAK_API_DEFS=ON", "-DCMAKE_CXX_STANDARD=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@
|
|||
<MODULEPATH id="juce_dsp" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</XCODE_IPHONE>
|
||||
<ANDROIDSTUDIO targetFolder="Builds/Android" androidMinimumSDK="23" androidInternetNeeded="1"
|
||||
<ANDROIDSTUDIO targetFolder="Builds/Android" androidMinimumSDK="24" androidInternetNeeded="1"
|
||||
microphonePermissionNeeded="1" smallIcon="c97aUr" bigIcon="c97aUr"
|
||||
androidExtraAssetsFolder="../../examples/Assets" androidBluetoothScanNeeded="1"
|
||||
androidBluetoothAdvertiseNeeded="1" androidBluetoothConnectNeeded="1">
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ add_subdirectory (${OBOE_DIR} ./oboe)
|
|||
add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c")
|
||||
set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression")
|
||||
|
||||
add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=23]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]])
|
||||
add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=24]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]])
|
||||
|
||||
include_directories( AFTER
|
||||
"../../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src"
|
||||
|
|
|
|||
|
|
@ -24,11 +24,11 @@ android {
|
|||
|
||||
defaultConfig {
|
||||
applicationId "com.juce.audiopluginhost"
|
||||
minSdkVersion 23
|
||||
minSdkVersion 24
|
||||
targetSdkVersion 34
|
||||
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", "-DANDROID_WEAK_API_DEFS=ON", "-DCMAKE_CXX_STANDARD=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
|
||||
arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-24", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_WEAK_API_DEFS=ON", "-DCMAKE_CXX_STANDARD=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ add_subdirectory (${OBOE_DIR} ./oboe)
|
|||
add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c")
|
||||
set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression")
|
||||
|
||||
add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=21]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]])
|
||||
add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=24]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]])
|
||||
|
||||
include_directories( AFTER
|
||||
"../../../JuceLibraryCode"
|
||||
|
|
|
|||
|
|
@ -24,11 +24,11 @@ android {
|
|||
|
||||
defaultConfig {
|
||||
applicationId "com.juce.networkgraphicsdemo"
|
||||
minSdkVersion 21
|
||||
minSdkVersion 24
|
||||
targetSdkVersion 34
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_WEAK_API_DEFS=ON", "-DCMAKE_CXX_STANDARD=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
|
||||
arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-24", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_WEAK_API_DEFS=ON", "-DCMAKE_CXX_STANDARD=17", "-DCMAKE_CXX_EXTENSIONS=OFF"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ public:
|
|||
androidManifestCustomXmlElements (settings, Ids::androidManifestCustomXmlElements, getUndoManager()),
|
||||
androidGradleSettingsContent (settings, Ids::androidGradleSettingsContent, getUndoManager()),
|
||||
androidVersionCode (settings, Ids::androidVersionCode, getUndoManager(), "1"),
|
||||
androidMinimumSDK (settings, Ids::androidMinimumSDK, getUndoManager(), "21"),
|
||||
androidMinimumSDK (settings, Ids::androidMinimumSDK, getUndoManager(), "24"),
|
||||
androidTargetSDK (settings, Ids::androidTargetSDK, getUndoManager(), "34"),
|
||||
androidTheme (settings, Ids::androidTheme, getUndoManager()),
|
||||
androidExtraAssetsFolder (settings, Ids::androidExtraAssetsFolder, getUndoManager()),
|
||||
|
|
@ -1145,7 +1145,7 @@ private:
|
|||
"An integer value that represents the version of the application code, relative to other versions.");
|
||||
|
||||
props.add (new TextPropertyComponent (androidMinimumSDK, "Minimum SDK Version", 32, false),
|
||||
"The number of the minimum version of the Android SDK that the app requires (must be 21 or higher).");
|
||||
"The number of the minimum version of the Android SDK that the app requires (must be 24 or higher).");
|
||||
|
||||
props.add (new TextPropertyComponent (androidTargetSDK, "Target SDK Version", 32, false),
|
||||
"The number of the version of the Android SDK that the app is targeting.");
|
||||
|
|
@ -1571,8 +1571,7 @@ private:
|
|||
if (isContentSharingEnabled())
|
||||
defines.set ("JUCE_CONTENT_SHARING", "1");
|
||||
|
||||
if (supportsGLv3())
|
||||
defines.set ("JUCE_ANDROID_GL_ES_VERSION_3_0", "1");
|
||||
defines.set ("JUCE_ANDROID_GL_ES_VERSION_3_0", "1");
|
||||
|
||||
if (areRemoteNotificationsEnabled())
|
||||
{
|
||||
|
|
@ -1628,7 +1627,7 @@ private:
|
|||
|
||||
libraries.add ("log");
|
||||
libraries.add ("android");
|
||||
libraries.add (supportsGLv3() ? "GLESv3" : "GLESv2");
|
||||
libraries.add ("GLESv3");
|
||||
libraries.add ("EGL");
|
||||
|
||||
return libraries;
|
||||
|
|
@ -1812,7 +1811,7 @@ private:
|
|||
if (glVersion == nullptr)
|
||||
glVersion = manifest.createNewChildElement ("uses-feature");
|
||||
|
||||
setAttributeIfNotPresent (*glVersion, "android:glEsVersion", (static_cast<int> (androidMinimumSDK.get()) >= 18 ? "0x00030000" : "0x00020000"));
|
||||
setAttributeIfNotPresent (*glVersion, "android:glEsVersion", "0x00030000");
|
||||
setAttributeIfNotPresent (*glVersion, "android:required", "true");
|
||||
}
|
||||
}
|
||||
|
|
@ -1851,8 +1850,7 @@ private:
|
|||
|
||||
if (androidScreenOrientation.get() == "landscape")
|
||||
{
|
||||
setAttributeIfNotPresent (*act, "android:screenOrientation",
|
||||
static_cast<int> (androidMinimumSDK.get()) < 18 ? "sensorLandscape" : "userLandscape");
|
||||
setAttributeIfNotPresent (*act, "android:screenOrientation", "userLandscape");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -2015,11 +2013,6 @@ private:
|
|||
return escapedArray.joinIntoString (", ");
|
||||
}
|
||||
|
||||
bool supportsGLv3() const
|
||||
{
|
||||
return (static_cast<int> (androidMinimumSDK.get()) >= 18);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
const File AndroidExecutable;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue