diff --git a/.gitignore b/.gitignore
index 2e2f897..ad847c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -323,6 +323,7 @@ fabric.properties
**/.idea/**/dynamic.xml
**/.idea/**/uiDesigner.xml
**/.idea/**/dbnavigator.xml
+**/.idea/**/deploymentTargetDropDown.xml
# Rider
# Rider auto-generates .iml files, and contentModel.xml
diff --git a/SDL3-CS.Tests.Android/AndroidManifest.xml b/SDL3-CS.Tests.Android/AndroidManifest.xml
new file mode 100644
index 0000000..37e811e
--- /dev/null
+++ b/SDL3-CS.Tests.Android/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/SDL3-CS.Tests.Android/MainActivity.cs b/SDL3-CS.Tests.Android/MainActivity.cs
new file mode 100644
index 0000000..258529d
--- /dev/null
+++ b/SDL3-CS.Tests.Android/MainActivity.cs
@@ -0,0 +1,13 @@
+using Java.Lang;
+using Org.Libsdl.App;
+
+namespace SDL.Tests.Android
+{
+ [Activity(Label = "SDL3-CS Android Tests", MainLauncher = true)]
+ public class MainActivity : SDLActivity
+ {
+ protected override string[] GetLibraries() => ["SDL3"];
+
+ protected override IRunnable CreateSDLMainRunnable() => new Runnable(Program.Main);
+ }
+}
diff --git a/SDL3-CS.Tests.Android/SDL3-CS.Tests.Android.csproj b/SDL3-CS.Tests.Android/SDL3-CS.Tests.Android.csproj
new file mode 100644
index 0000000..fe721f3
--- /dev/null
+++ b/SDL3-CS.Tests.Android/SDL3-CS.Tests.Android.csproj
@@ -0,0 +1,20 @@
+
+
+
+ net8.0-android
+ 21
+ SDL.Tests.Android
+ Exe
+ enable
+ enable
+ true
+ SDL.Tests.Android
+
+
+
+
+
+
+
+
+
diff --git a/SDL3-CS.Tests/Program.cs b/SDL3-CS.Tests/Program.cs
index 3d731a8..9cac63d 100644
--- a/SDL3-CS.Tests/Program.cs
+++ b/SDL3-CS.Tests/Program.cs
@@ -11,7 +11,8 @@ namespace SDL.Tests
{
public static void Main()
{
- Console.OutputEncoding = Encoding.UTF8;
+ if (OperatingSystem.IsWindows())
+ Console.OutputEncoding = Encoding.UTF8;
SDL_SetHint(SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4, "null byte \0 in string"u8);
Debug.Assert(SDL_GetHint(SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4) == "null byte ");
diff --git a/SDL3-CS.sln b/SDL3-CS.sln
index a9e57ab..6d94d0b 100644
--- a/SDL3-CS.sln
+++ b/SDL3-CS.sln
@@ -21,6 +21,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SDL3-CS.Tests", "SDL3-CS.Te
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDL3-CS.Android", "SDL3-CS.Android\SDL3-CS.Android.csproj", "{CA28F49C-D0BE-47D6-9E82-7A0B8C380B8B}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SDL3-CS.Tests.Android", "SDL3-CS.Tests.Android\SDL3-CS.Tests.Android.csproj", "{E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -43,6 +45,10 @@ Global
{CA28F49C-D0BE-47D6-9E82-7A0B8C380B8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CA28F49C-D0BE-47D6-9E82-7A0B8C380B8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA28F49C-D0BE-47D6-9E82-7A0B8C380B8B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E8469DA5-E437-4287-9E2A-8B8F4DC21C1A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE