Fix wasm build and Android signing

This commit is contained in:
moonpower
2026-04-07 23:21:51 +02:00
parent d4387c535f
commit 554722b4de
15 changed files with 40 additions and 240 deletions
+14
View File
@@ -530,10 +530,24 @@ jobs:
apt_cmd apt-get update
DEBIAN_FRONTEND=noninteractive apt_cmd apt-get install -y python3 python3-jinja2 zip
- name: Install Emscripten
shell: bash
run: |
set -euo pipefail
if [ ! -d "$HOME/emsdk/.git" ]; then
git clone --depth=1 https://github.com/emscripten-core/emsdk.git "$HOME/emsdk"
else
git -C "$HOME/emsdk" pull --ff-only
fi
cd "$HOME/emsdk"
./emsdk install latest
./emsdk activate latest
- name: Build WebAssembly package
shell: bash
run: |
set -euo pipefail
source "$HOME/emsdk/emsdk_env.sh"
./build.sh wasm
mkdir -p artifacts/wasm
(
+7 -1
View File
@@ -45,6 +45,7 @@ CONTROLLER_GENERIC ?= 0
FSUI_DIR := third_party/fsui-lib
FSUI_BUILD_DIR ?= build/fsui/native
WASM_HTML_POSTPROCESS := $(FSUI_DIR)/cmake/postprocess_web_html.cmake
FSUI_LINK_OPENGL ?= 1
ifeq ($(PSVITA_TARGET),1)
ifeq ($(strip $(VITASDK)),)
@@ -224,11 +225,13 @@ FSUI_LIBS += \
else
ifneq ($(WASM_TARGET),wasm)
ifeq ($(FSUI_LINK_OPENGL),1)
FSUI_LIBS += \
$(FSUI_BUILD_DIR)/libfsui-renderer-opengl.a \
$(FSUI_BUILD_DIR)/libfsui_glad.a
endif
endif
endif
PLATFORM_EXTRA_LDFLAGS :=
PLATFORM_EXTRA_LIBS :=
@@ -247,7 +250,10 @@ ifneq ($(UWP_TARGET),1)
PLATFORM_EXTRA_LIBS += -ldbghelp
endif
else ifneq ($(WASM_TARGET),wasm)
PLATFORM_EXTRA_LIBS += -ldl -lGL
PLATFORM_EXTRA_LIBS += -ldl
ifeq ($(FSUI_LINK_OPENGL),1)
PLATFORM_EXTRA_LIBS += -lGL
endif
endif
C_OBJS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(C_SOURCES))
+16 -6
View File
@@ -2,6 +2,9 @@ plugins {
id 'com.android.application'
}
def repoDebugKeystore = file("debug.keystore")
def hasRepoDebugKeystore = repoDebugKeystore.exists()
android {
namespace 'com.nanodata.armsx'
compileSdk rootProject.ext.compileSdkVersion
@@ -16,20 +19,27 @@ android {
}
signingConfigs {
debug {
storeFile file("debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
if (hasRepoDebugKeystore) {
debug {
storeFile repoDebugKeystore
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
}
buildTypes {
debug {
matchingFallbacks = ['release']
if (hasRepoDebugKeystore) {
signingConfig signingConfigs.debug
}
}
release {
signingConfig signingConfigs.debug
if (hasRepoDebugKeystore) {
signingConfig signingConfigs.debug
}
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
-41
View File
@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>armsx</string>
<key>CFBundleIconFile</key>
<string>armsx.icns</string>
<key>CFBundleIdentifier</key>
<string>armsx.app.0</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>ARMSX</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.10.4-alpha</string>
<key>CFBundleVersion</key>
<string>0.10.4-alpha</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>CFBundleURLName</key>
<string>cloud.nanodata.armsx</string>
<key>CFBundleURLSchemes</key>
<array>
<string>armsx</string>
</array>
</dict>
</array>
<key>LSMinimumSystemVersion</key>
<string>10.15</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

@@ -1,190 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/armsx.icns</key>
<data>
tLvVfSra/HU/kwOwHYqmakjDDwc=
</data>
<key>Resources/icons/AppIconLarge.png</key>
<data>
K/quJY2yLdHIZT79gWjPJYcuWhM=
</data>
<key>Resources/icons/ArmsxDesktop.icns</key>
<data>
tLvVfSra/HU/kwOwHYqmakjDDwc=
</data>
<key>Resources/icons/ArmsxDesktop.ico</key>
<data>
2W/m6FEH8YSv9JJxzbnapRwrZTA=
</data>
<key>Resources/icons/ArmsxDesktop.png</key>
<data>
+hZMCsVm8dg/lMRgYEGwjo7req8=
</data>
<key>Resources/icons/FsuiAppIcon.png</key>
<data>
7YHGI8xPxHcSsT8+PcE9cIg3LnM=
</data>
</dict>
<key>files2</key>
<dict>
<key>Libraries/libSDL2-2.0.0.dylib</key>
<dict>
<key>hash2</key>
<data>
0hFn0ajnZSU71+kD2arQPc5LYrEuOwhg3yoXVqpdiYw=
</data>
</dict>
<key>Resources/armsx.icns</key>
<dict>
<key>hash2</key>
<data>
SoTn8fmEHm8ojQlVsR98z4DF74UcHD9amGiYePkc1P0=
</data>
</dict>
<key>Resources/icons/AppIconLarge.png</key>
<dict>
<key>hash2</key>
<data>
iFTMCBCpukKtzwrvTkmN9uB1iSTNt2y5aTSfBqsVaQ4=
</data>
</dict>
<key>Resources/icons/ArmsxDesktop.icns</key>
<dict>
<key>hash2</key>
<data>
SoTn8fmEHm8ojQlVsR98z4DF74UcHD9amGiYePkc1P0=
</data>
</dict>
<key>Resources/icons/ArmsxDesktop.ico</key>
<dict>
<key>hash2</key>
<data>
RtWHyEp/jas1/vW4AVMhHuuYQAdDBSabLXC2DpGBqYw=
</data>
</dict>
<key>Resources/icons/ArmsxDesktop.png</key>
<dict>
<key>hash2</key>
<data>
wpZc2545eh2cSCzagux5BfgDqEHfLtfe2e3bjxodAdg=
</data>
</dict>
<key>Resources/icons/FsuiAppIcon.png</key>
<dict>
<key>hash2</key>
<data>
OshJoQSFsnP/LBrVa5MhKSZHGnbCv55SjvwWnTi5lUY=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
+2 -2
View File
@@ -33,7 +33,7 @@ build_fsui_native() {
build_fsui_wasm() {
if ! command -v emcmake >/dev/null 2>&1 || ! command -v emcc >/dev/null 2>&1; then
for candidate in "${EMSCRIPTEN_ROOT:-}" "${EMSDK:-}" "/Volumes/FastDrive/linkertools/emsdk"; do
for candidate in "${EMSCRIPTEN_ROOT:-}" "${EMSDK:-}" "$HOME/emsdk" "/opt/emsdk" "/Volumes/FastDrive/linkertools/emsdk"; do
if [ -z "${candidate}" ] || [ ! -d "${candidate}" ]; then
continue
fi
@@ -59,7 +59,7 @@ build_fsui_wasm() {
fi
if ! command -v emcmake >/dev/null 2>&1 || ! command -v emcc >/dev/null 2>&1; then
echo "emcmake/emcc are required for the wasm FSUI build. Set EMSCRIPTEN_ROOT or install Emscripten."
echo "emcmake/emcc are required for the wasm FSUI build. Set EMSCRIPTEN_ROOT, EMSDK, or install Emscripten under \$HOME/emsdk."
exit 1
fi
+1
View File
@@ -197,6 +197,7 @@ make \
AR="${toolchain_dir}/bin/${toolchain_name}-ar" \
RANLIB="${toolchain_dir}/bin/${toolchain_name}-ranlib" \
SDL_STATIC=0 \
FSUI_LINK_OPENGL=0 \
SDL_CFLAGS="$sdl_cflags" \
SDL_LIBS_DYNAMIC="$sdl_libs" \
FSUI_BUILD_DIR="$fsui_build_dir" \