diff --git a/README.md b/README.md index a0f9656a..ca2aebab 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,10 @@ Detailed instructions can be viewed at https://github.com/love2d/love-android/wi Quick Start: ------------ -Before you start, install JDK 17 or later. If you intend to build from Android Studio, skip this step as +Before you start, install JDK 17 (not later not earlier). If you intend to build from Android Studio, skip this step as Android Studio bundles its own JDK 17. -Install Android SDK with SDK API 33 (33.0.0) and Android NDK 23.2.8568313, set the environment variable +Install Android SDK with SDK API 34 (34.x.y) and Android NDK 25.2.9519653, set the environment variable `ANDROID_SDK_ROOT` to your Android SDK location and run: ``` @@ -63,8 +63,8 @@ run either `gradlew assembleEmbedNoRecordRelease` (or `gradlew assembleEmbedReco generate APK which you can install or `gradlew bundleEmbedNoRecordRelease` (or `gradlew bundleEmbedRecordRelease`) to generate AAB which you can upload to Play Store. -Alternatively, you can install Android Studio **2022.2.1** or later. After opening it for the first time, open its SDK Manager -and on the tab "SDK Tools", tick "Show Package Details" then select NDK (Side By Side) version 23.2.8568313. After that, open +Alternatively, you can install Android Studio **2022.3.1** or later. After opening it for the first time, open its SDK Manager +and on the tab "SDK Tools", tick "Show Package Details" then select NDK (Side By Side) version 25.2.9519653. After that, open the repository root. Notice: Previously, the embed + APKTool method is preferred, but recent announcements by Google render that method obsolete. @@ -81,6 +81,12 @@ Note: If in doubt, fill an issue report to https://github.com/love2d/love/issues Changelog: ---------- +11.5: + +* Contains all relevant changes for desktop LÖVE [11.5](https://love2d.org/wiki/11.5). +* Fixed audio in Android still playing in the background in certain cases. ([love2d/love#1828](https://github.com/love2d/love/issues/1828)) + + 11.4: * Contains all relevant changes for desktop LÖVE [11.4](https://love2d.org/wiki/11.4). diff --git a/app/build.gradle b/app/build.gradle index 3ac7a2a4..b5f49c2e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,15 +4,15 @@ apply plugin: 'com.android.application' android { namespace "org.love2d.android.executable" - compileSdk 33 - buildToolsVersion '33.0.0' - ndkVersion '23.2.8568313' + ndkVersion '25.2.9519653' + defaultConfig { applicationId project.properties["app.application_id"] versionCode project.properties["app.version_code"].toInteger() versionName project.properties["app.version_name"] - minSdkVersion 16 - targetSdk 33 + minSdk 16 + compileSdk 34 + targetSdk 34 def getAppName = { def nameArray = project.properties["app.name_byte_array"] @@ -44,7 +44,7 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - flavorDimensions 'mode', 'recording' + flavorDimensions = ['mode', 'recording'] productFlavors { normal { dimension 'mode' diff --git a/build.gradle b/build.gradle index d8c801c9..3ddb7b3e 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.0.0' + classpath 'com.android.tools.build:gradle:8.1.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/love/build.gradle b/love/build.gradle index 2e8de674..eb3dc16e 100644 --- a/love/build.gradle +++ b/love/build.gradle @@ -6,15 +6,13 @@ android { // See https://code.google.com/p/android/issues/detail?id=52962 // and http://stackoverflow.com/questions/27277433/why-does-gradle-build-my-module-in-release-mode-when-the-app-is-in-debug // defaultPublishConfig "debug" - compileSdkVersion 33 - buildToolsVersion '33.0.0' - ndkVersion '23.2.8568313' namespace "org.love2d.android" + ndkVersion '25.2.9519653' defaultConfig { - compileSdkVersion 33 - buildToolsVersion '33.0.0' - minSdkVersion 16 + minSdk 16 + compileSdk 34 + targetSdk 34 externalNativeBuild { ndkBuild { arguments "-j" + Runtime.runtime.availableProcessors() @@ -23,10 +21,10 @@ android { ndk { // Specifies the ABI configurations of your native // libraries Gradle should build and package with your APK. + // noinspection ChromeOsAbiSupport abiFilters 'armeabi-v7a', 'arm64-v8a' debugSymbolLevel 'SYMBOL_TABLE' } - targetSdkVersion 33 } def retrieveAll3pModules = { -> @@ -35,6 +33,7 @@ android { fileTree("src/jni/lua-modules").visit { FileVisitDetails details -> if (details.isDirectory()) { if (file(details.file.path + "/Android.mk").exists()) { + def logger = project.getLogger() logger.lifecycle("3rd-party module: " + details.file.path) def javainfo = file(details.file.path + "/java.txt") @@ -42,7 +41,7 @@ android { def fstream = new FileInputStream(javainfo) def infile = new BufferedReader(new InputStreamReader(fstream)) def javapath = infile.readLine().replace("\\", "/") - def mpath = null + def mpath = "" if (javapath[0] != '/') { mpath = details.file.path + "/" + javapath @@ -69,11 +68,12 @@ android { } debug { ndk { + // noinspection ChromeOsAbiSupport abiFilters += 'x86_64' } } } - flavorDimensions 'mode' + flavorDimensions = ['mode'] productFlavors { normal { dimension 'mode' @@ -103,7 +103,12 @@ android { } packagingOptions { jniLibs { - excludes += ['lib/arm64-v8a/libSDL2.so', 'lib/armeabi-v7a/libSDL2.so'] + excludes += [ + 'lib/arm64-v8a/libSDL2.so', + 'lib/armeabi-v7a/libSDL2.so', + 'lib/x86_64/libSDL2.so', + 'lib/x86/libSDL2.so' + ] } } lint {