Browse Source

Updated to Android minSdkVersion 19 and targetSdkVersion 34

This is updated to meet the latest requirements for apps on the Google Play store

(cherry picked from commit 8e27a693706a76cbe0fcd1b877a2847afe19c513)
Sam Lantinga 1 year ago
parent
commit
cc58a09c09

+ 10 - 10
android-project/app/build.gradle

@@ -8,22 +8,22 @@ else {
 }
 }
 
 
 android {
 android {
-    compileSdkVersion 31
+    if (buildAsApplication) {
+        namespace "org.libsdl.app"
+    }
+    compileSdkVersion 34
     defaultConfig {
     defaultConfig {
-        if (buildAsApplication) {
-            applicationId "org.libsdl.app"
-        }
-        minSdkVersion 16
-        targetSdkVersion 31
+        minSdkVersion 19
+        targetSdkVersion 34
         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'
             }
             }
             // 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'
             // }
             // }
@@ -53,10 +53,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 ->

+ 0 - 1
android-project/app/src/main/AndroidManifest.xml

@@ -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">

+ 1 - 1
android-project/build.gradle

@@ -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

+ 1 - 1
android-project/gradle/wrapper/gradle-wrapper.properties

@@ -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

+ 7 - 7
docs/README-android.md

@@ -13,13 +13,13 @@ supported, but you can use the "android-project-ant" directory as a template.
 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
@@ -431,13 +431,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.
-As of this writing, according to https://developer.android.com/about/dashboards/index.html
-about 99% of the Android devices accessing Google Play support API level 16 or
-higher (January 2018).
+The latest NDK toolchain doesn't support targeting earlier than API level 19.
+As of this writing, according to https://www.composables.com/tools/distribution-chart
+about 99.7% of the Android devices accessing Google Play support API level 19 or
+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