Updated to Android minSdkVersion 19 and targetSdkVersion 34

This is updated to meet the latest requirements for apps on the Google Play store
This commit is contained in:
Sam Lantinga 2023-08-24 08:23:06 -07:00
parent 8924d0d927
commit 1e9d314482
5 changed files with 19 additions and 20 deletions

View File

@ -8,23 +8,23 @@ else {
} }
android { android {
compileSdkVersion 31 if (buildAsApplication) {
namespace "org.libsdl.app"
}
compileSdkVersion 34
defaultConfig { defaultConfig {
if (buildAsApplication) { minSdkVersion 19
applicationId "org.libsdl.app" targetSdkVersion 34
}
minSdkVersion 16
targetSdkVersion 31
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
externalNativeBuild { externalNativeBuild {
ndkBuild { ndkBuild {
arguments "APP_PLATFORM=android-16" arguments "APP_PLATFORM=android-19"
// abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
abiFilters 'arm64-v8a' abiFilters 'arm64-v8a'
} }
cmake { cmake {
arguments "-DANDROID_APP_PLATFORM=android-16", "-DANDROID_STL=c++_static" arguments "-DANDROID_APP_PLATFORM=android-19", "-DANDROID_STL=c++_static"
// abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
abiFilters 'arm64-v8a' abiFilters 'arm64-v8a'
} }
@ -54,10 +54,10 @@ android {
} }
} }
lintOptions { lint {
abortOnError false abortOnError false
} }
if (buildAsLibrary) { if (buildAsLibrary) {
libraryVariants.all { variant -> libraryVariants.all { variant ->
variant.outputs.each { output -> variant.outputs.each { output ->

View File

@ -3,7 +3,6 @@
com.gamemaker.game com.gamemaker.game
--> -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.libsdl.app"
android:versionCode="1" android:versionCode="1"
android:versionName="1.0" android:versionName="1.0"
android:installLocation="auto"> android:installLocation="auto">

View File

@ -6,7 +6,7 @@ buildscript {
google() google()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.0.3' classpath 'com.android.tools.build:gradle:8.1.1'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files

View File

@ -1,6 +1,6 @@
#Thu Nov 11 18:20:34 PST 2021 #Thu Nov 11 18:20:34 PST 2021
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

View File

@ -10,13 +10,13 @@ The rest of this README covers the Android gradle style build process.
Requirements Requirements
================================================================================ ================================================================================
Android SDK (version 31 or later) Android SDK (version 34 or later)
https://developer.android.com/sdk/index.html https://developer.android.com/sdk/index.html
Android NDK r15c or later Android NDK r15c or later
https://developer.android.com/tools/sdk/ndk/index.html https://developer.android.com/tools/sdk/ndk/index.html
Minimum API level supported by SDL: 16 (Android 4.1) Minimum API level supported by SDL: 19 (Android 4.4)
How the port works How the port works
@ -435,13 +435,13 @@ The Tegra Graphics Debugger is available from NVidia here:
https://developer.nvidia.com/tegra-graphics-debugger https://developer.nvidia.com/tegra-graphics-debugger
Why is API level 16 the minimum required? Why is API level 19 the minimum required?
================================================================================ ================================================================================
The latest NDK toolchain doesn't support targeting earlier than API level 16. The latest NDK toolchain doesn't support targeting earlier than API level 19.
As of this writing, according to https://developer.android.com/about/dashboards/index.html As of this writing, according to https://www.composables.com/tools/distribution-chart
about 99% of the Android devices accessing Google Play support API level 16 or about 99.7% of the Android devices accessing Google Play support API level 19 or
higher (January 2018). higher (August 2023).
A note regarding the use of the "dirty rectangles" rendering technique A note regarding the use of the "dirty rectangles" rendering technique