feat(setup): bootstrap Android plugin and web UI
This initial commit adds a multi-part scaffold for Wechselbild, including a web UI and an Android plugin. It introduces frontend assets and a package.json-based dev setup, plus plugin scaffolding for Android with Kotlin sources and Cargo.toml for the Tauri plugin. - Adds Android wallpaper plugin with Kotlin sources and manifest - Includes web UI scaffold with index.html and package.json - Adds Tauri plugin scaffold with Cargo.toml and build config
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
# Wechselbild
|
||||
|
||||
Wechselbild ist eine Tauri-2-App für Android, die aus einer frei wählbaren Bildsammlung bei jedem Aktivieren des Displays ein neues Sperrbildschirmbild setzt.
|
||||
|
||||
## Was bereits umgesetzt ist
|
||||
|
||||
- Mehrfachauswahl über den Android-Systemdialog
|
||||
- kein festes Bilderlimit; Originale werden in den privaten App-Speicher kopiert
|
||||
- Wechsel nur für den Sperrbildschirm oder für das allgemeine Hintergrundbild
|
||||
- zufällige oder fortlaufende Reihenfolge
|
||||
- manueller Wechsel über „Nächstes Motiv“
|
||||
- automatischer Wechsel bei `ACTION_SCREEN_ON`
|
||||
- Neustart des Dienstes nach einem Geräte-Neustart, soweit die Android-Version Hintergrundstarts zulässt
|
||||
- lokale Vorschaubilder; die Originalbilder verlassen das Gerät nicht
|
||||
|
||||
Android hält den Listener über einen Foreground Service aktiv. Solange der automatische Wechsel eingeschaltet ist, zeigt das System deshalb eine dauerhafte, stille Benachrichtigung. Auf Geräten mit aggressivem Energiesparen muss Wechselbild gegebenenfalls von der Akku-Optimierung ausgenommen werden.
|
||||
|
||||
## Entwicklung
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run dev
|
||||
npm run build
|
||||
cargo check --manifest-path src-tauri/Cargo.toml
|
||||
```
|
||||
|
||||
## Android-Projekt erzeugen und bauen
|
||||
|
||||
Benötigt werden Android Studio/SDK, NDK 28 oder neuer, JDK 17+ und die Rust-Android-Targets.
|
||||
|
||||
```bash
|
||||
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
|
||||
npm run tauri android init
|
||||
npm run tauri android build -- --apk
|
||||
```
|
||||
|
||||
Für ein angeschlossenes Gerät:
|
||||
|
||||
```bash
|
||||
npm run tauri android dev
|
||||
```
|
||||
|
||||
Der native Android-Code liegt als lokales Tauri-Plugin in `plugins/android`. Er wird beim Android-Build automatisch eingebunden.
|
||||
|
||||
## Wichtige Android-Hinweise
|
||||
|
||||
- Android erlaubt keine komplett unsichtbare, dauerhaft laufende Überwachung des Display-Status. Der automatische Wechsel verwendet deshalb korrekt einen Foreground Service.
|
||||
- `WallpaperManager.FLAG_LOCK` ist ab Android 7 verfügbar. Auf älteren Geräten setzt die App das allgemeine Hintergrundbild.
|
||||
- Hersteller können Hintergrunddienste zusätzlich einschränken. Besonders bei Samsung/Xiaomi kann eine Ausnahme von der Akku-Optimierung nötig sein.
|
||||
- „Ohne Limit“ bedeutet: kein App-Zähler wie Samsungs 15-Bilder-Grenze. Praktisch begrenzen freier Gerätespeicher und Dateisystem die Sammlung.
|
||||
Reference in New Issue
Block a user