include sdl libs for android (#954)

This commit is contained in:
Logan McNaughton
2026-05-26 09:39:51 +02:00
committed by GitHub
parent 60cbf59ddf
commit 9d7b13d4c9
4 changed files with 44 additions and 4 deletions
+6 -3
View File
@@ -19,9 +19,6 @@ serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde-big-array = "0.5"
sha2 = "0.11"
sdl3-sys = { version = "0.6", features = ["build-from-source-static"] }
sdl3-ttf-sys = { version = "0.6", features = ["build-static-vendored", "no-sdlttf-harfbuzz", "no-sdlttf-plutosvg"] }
sdl3-image-sys = { version = "0.6", features = ["build-static-vendored"] }
tokio = {version = "1.46", features = ["rt-multi-thread", "macros", "fs", "process"] }
spin_sleep = "1.3"
encoding_rs = "0.8"
@@ -43,10 +40,16 @@ slint = { version = "1.16", default-features = false, features = ["compat-1-2",
rfd = {version = "0.17", optional = true }
dirs = "6.0"
open = { version = "5.3", optional = true }
sdl3-sys = { version = "0.6", features = ["build-from-source-static"] }
sdl3-ttf-sys = { version = "0.6", features = ["build-static-vendored", "no-sdlttf-harfbuzz", "no-sdlttf-plutosvg"] }
sdl3-image-sys = { version = "0.6", features = ["build-static-vendored"] }
[target.'cfg(target_os = "android")'.dependencies]
slint = { version = "1.16", default-features = false, features = ["compat-1-2", "std", "backend-android-activity-06", "accessibility"], optional = true }
jni = "0.22"
sdl3-sys = { version = "0.6", features = ["build-from-source"] }
sdl3-ttf-sys = { version = "0.6", features = ["build-from-source", "no-sdlttf-harfbuzz", "no-sdlttf-plutosvg"] }
sdl3-image-sys = { version = "0.6", features = ["build-from-source"] }
[build-dependencies]
winresource = "0.1"
+1
View File
@@ -1,3 +1,4 @@
set(ANDROID_PLATFORM $ENV{ANDROID_PLATFORM})
set(ANDROID_ABI $ENV{ANDROID_ABI})
set(ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES ON)
include("$ENV{ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake")
+29
View File
@@ -71,7 +71,36 @@ val ndkBuild = tasks.register<Exec>("ndkBuild") {
)
}
val sdlLibsArm64 = tasks.register<Copy>("sdlLibsArm64") {
val isRelease = gradle.startParameter.taskNames.any { it.endsWith("Release", ignoreCase = true) }
val jniType = if (isRelease) "release" else "debug"
val jniLibsFolder = "$rootDir/app/src/$jniType/jniLibs/arm64-v8a"
from("$rootDir/../target/aarch64-linux-android/$jniType")
into(jniLibsFolder)
include("libSDL*")
}
val sdlLibsX64 = tasks.register<Copy>("sdlLibsX64") {
val isRelease = gradle.startParameter.taskNames.any { it.endsWith("Release", ignoreCase = true) }
val jniType = if (isRelease) "release" else "debug"
val jniLibsFolder = "$rootDir/app/src/$jniType/jniLibs/x86_64"
from("$rootDir/../target/x86_64-linux-android/$jniType")
into(jniLibsFolder)
include("libSDL*")
}
tasks.named("preBuild") {
dependsOn(sdlLibsArm64)
dependsOn(sdlLibsX64)
}
tasks.named("sdlLibsArm64") {
dependsOn(ndkBuild)
}
tasks.named("sdlLibsX64") {
dependsOn(ndkBuild)
}
@@ -2,4 +2,11 @@ package io.github.gopher64.gopher64
import org.libsdl.app.SDLActivity
class N64Activity : SDLActivity() {}
class N64Activity : SDLActivity() {
override fun getLibraries(): Array<String> = arrayOf(
"SDL3",
"SDL3_ttf",
"SDL3_image",
"gopher64"
)
}