summaryrefslogtreecommitdiff
path: root/tests/projects/android/native_app/raylib_basic
diff options
context:
space:
mode:
authorruki <[email protected]>2025-12-16 17:57:11 +0800
committerGitHub <[email protected]>2025-12-16 17:57:11 +0800
commitd1485fa867ebb3b661a16ec043f33537a7f9f0cd (patch)
tree351a965dfb03438caf4a5a55620a11108ffabcac /tests/projects/android/native_app/raylib_basic
parentd3acb6ca0d74d506d4a7da0fb7c055344591cb7a (diff)
parent7b542ebe22e833bd56dd1eb0271aa5aa7c0b45a8 (diff)
Merge pull request #7139 from xmake-io/android
Add android native app support
Diffstat (limited to 'tests/projects/android/native_app/raylib_basic')
-rw-r--r--tests/projects/android/native_app/raylib_basic/android/AndroidManifest.xml31
-rw-r--r--tests/projects/android/native_app/raylib_basic/android/debug.jksbin0 -> 2148 bytes
-rw-r--r--tests/projects/android/native_app/raylib_basic/android/res/mipmap-mdpi/icon.pngbin0 -> 2643 bytes
-rw-r--r--tests/projects/android/native_app/raylib_basic/android/res/mipmap/icon.pngbin0 -> 2643 bytes
-rw-r--r--tests/projects/android/native_app/raylib_basic/android/res/values/strings.xml4
-rw-r--r--tests/projects/android/native_app/raylib_basic/android/res/values/styles.xml9
-rw-r--r--tests/projects/android/native_app/raylib_basic/src/main.cpp32
-rw-r--r--tests/projects/android/native_app/raylib_basic/xmake.lua19
8 files changed, 95 insertions, 0 deletions
diff --git a/tests/projects/android/native_app/raylib_basic/android/AndroidManifest.xml b/tests/projects/android/native_app/raylib_basic/android/AndroidManifest.xml
new file mode 100644
index 000000000..2d6b2d67c
--- /dev/null
+++ b/tests/projects/android/native_app/raylib_basic/android/AndroidManifest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.raylib.basic"
+
+ android:versionCode="15"
+ android:versionName="1.5">
+
+ <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
+
+ <uses-permission android:name="android.permission.SET_RELEASE_APP"/>
+
+ <application
+ android:label="RaylibBasic" android:debuggable="true" android:hasCode="false"
+ tools:replace="android:icon,android:theme,android:allowBackup,label"
+ android:icon="@mipmap/icon">
+
+ <activity android:name="android.app.NativeActivity"
+ android:label="RaylibBasic"
+ android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"
+ android:screenOrientation="portrait"
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
+ <meta-data android:name="android.app.lib_name"
+ android:value="main" />
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest> \ No newline at end of file
diff --git a/tests/projects/android/native_app/raylib_basic/android/debug.jks b/tests/projects/android/native_app/raylib_basic/android/debug.jks
new file mode 100644
index 000000000..0a18aa012
--- /dev/null
+++ b/tests/projects/android/native_app/raylib_basic/android/debug.jks
Binary files differ
diff --git a/tests/projects/android/native_app/raylib_basic/android/res/mipmap-mdpi/icon.png b/tests/projects/android/native_app/raylib_basic/android/res/mipmap-mdpi/icon.png
new file mode 100644
index 000000000..743413831
--- /dev/null
+++ b/tests/projects/android/native_app/raylib_basic/android/res/mipmap-mdpi/icon.png
Binary files differ
diff --git a/tests/projects/android/native_app/raylib_basic/android/res/mipmap/icon.png b/tests/projects/android/native_app/raylib_basic/android/res/mipmap/icon.png
new file mode 100644
index 000000000..743413831
--- /dev/null
+++ b/tests/projects/android/native_app/raylib_basic/android/res/mipmap/icon.png
Binary files differ
diff --git a/tests/projects/android/native_app/raylib_basic/android/res/values/strings.xml b/tests/projects/android/native_app/raylib_basic/android/res/values/strings.xml
new file mode 100644
index 000000000..bc0a9bfbf
--- /dev/null
+++ b/tests/projects/android/native_app/raylib_basic/android/res/values/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">Raylib Basic</string>
+</resources> \ No newline at end of file
diff --git a/tests/projects/android/native_app/raylib_basic/android/res/values/styles.xml b/tests/projects/android/native_app/raylib_basic/android/res/values/styles.xml
new file mode 100644
index 000000000..621547380
--- /dev/null
+++ b/tests/projects/android/native_app/raylib_basic/android/res/values/styles.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <style name="AppTheme" parent="android:Theme.NoTitleBar.Fullscreen">
+ <item name="android:windowBackground">@android:color/black</item>
+ <item name="android:colorPrimary">#FF6200EE</item>
+ <item name="android:colorPrimaryDark">#FF3700B3</item>
+ <item name="android:colorAccent">#FF03DAC5</item>
+ </style>
+</resources> \ No newline at end of file
diff --git a/tests/projects/android/native_app/raylib_basic/src/main.cpp b/tests/projects/android/native_app/raylib_basic/src/main.cpp
new file mode 100644
index 000000000..0094d9e3c
--- /dev/null
+++ b/tests/projects/android/native_app/raylib_basic/src/main.cpp
@@ -0,0 +1,32 @@
+#include <raylib.h>
+#include <android/log.h>
+
+#define LOG_TAG "raydemo_basic"
+#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
+
+int main(int argc, char** argv) {
+ InitWindow(0, 0, "Hello, xmake for raylib android!");
+ SetTargetFPS(60);
+ LOGI("raylib application is running!");
+
+ while (!WindowShouldClose()) {
+ BeginDrawing();
+ ClearBackground(BLACK);
+
+ // Draw FPS
+ const char* fpsText = TextFormat("%2i FPS", GetFPS());
+ int fpsWidth = MeasureText(fpsText, 40);
+ DrawText(fpsText, GetScreenWidth() / 2 - fpsWidth / 2, 30, 40, GREEN);
+
+ // Draw centered text
+ int fontSize = 50;
+ const char* text = "Hello, xmake for raylib android!";
+ int textWidth = MeasureText(text, fontSize);
+ DrawText(text, GetScreenWidth() / 2 - textWidth / 2, 100, fontSize, BLUE);
+
+ EndDrawing();
+ }
+
+ CloseWindow();
+ return 0;
+}
diff --git a/tests/projects/android/native_app/raylib_basic/xmake.lua b/tests/projects/android/native_app/raylib_basic/xmake.lua
new file mode 100644
index 000000000..50886764d
--- /dev/null
+++ b/tests/projects/android/native_app/raylib_basic/xmake.lua
@@ -0,0 +1,19 @@
+add_rules("mode.debug", "mode.release")
+
+add_requires("raylib 5.5.0")
+
+target("raydemo_basic")
+ set_kind("binary")
+ set_languages("c++17")
+ add_files("src/main.cpp")
+ add_syslinks("log")
+ add_packages("raylib")
+ add_rules("android.native_app", {
+ android_sdk_version = "35",
+ android_manifest = "android/AndroidManifest.xml",
+ android_res = "android/res",
+ keystore = "android/debug.jks",
+ keystore_pass = "123456",
+ package_name = "com.raylib.basic",
+ logcat_filters = {"raydemo_basic", "raylib"}
+ })