fix Android: load shell.rml, add loadAppContent function, fallback to built-in apps

This commit is contained in:
2026-01-20 10:56:58 +01:00
parent 41fc6fdd86
commit 2134a53921
3 changed files with 188 additions and 39 deletions

70
install-device.bat Normal file
View File

@@ -0,0 +1,70 @@
@echo off
setlocal enabledelayedexpansion
echo ========================================
echo Mosis Device Installation Script
echo ========================================
echo.
:: Package name
set PACKAGE=com.omixlab.mosis
set DEVICE_APPS_DIR=files/apps
:: Step 1: Build and install APK
echo [1/3] Building and installing debug APK...
call gradlew installDebug
if errorlevel 1 (
echo ERROR: Failed to install APK
exit /b 1
)
echo.
:: Step 2: Push base-apps to temp location
echo [2/3] Pushing base-apps to temp location...
adb shell "rm -rf /data/local/tmp/mosis-apps" 2>nul
adb push base-apps /data/local/tmp/mosis-apps
if errorlevel 1 (
echo ERROR: Failed to push base-apps
exit /b 1
)
echo.
:: Step 3: Copy to private data using run-as
echo [3/3] Installing apps to internal storage...
echo Using run-as for /data/data/%PACKAGE%/%DEVICE_APPS_DIR%/
echo.
:: Create apps directory
adb shell "run-as %PACKAGE% mkdir -p %DEVICE_APPS_DIR%"
:: List of apps to install
for /d %%A in (base-apps\com.mosis.*) do (
set APP_ID=%%~nxA
echo Installing !APP_ID!...
:: Create app directory structure
adb shell "run-as %PACKAGE% mkdir -p %DEVICE_APPS_DIR%/!APP_ID!"
:: Copy files using tar through run-as (faster than individual files)
adb shell "cd /data/local/tmp/mosis-apps/!APP_ID! && tar cf - . | run-as %PACKAGE% tar xf - -C %DEVICE_APPS_DIR%/!APP_ID!/"
)
:: Cleanup temp files
echo.
echo Cleaning up temp files...
adb shell "rm -rf /data/local/tmp/mosis-apps"
echo.
echo ========================================
echo Installation complete!
echo ========================================
echo.
echo APK: %PACKAGE%
echo Apps: /data/data/%PACKAGE%/%DEVICE_APPS_DIR%/
echo.
echo Verify with:
echo adb shell "run-as %PACKAGE% ls -la %DEVICE_APPS_DIR%"
echo.
echo Launch with:
echo adb shell am start -n %PACKAGE%/.MainActivity
echo.