feat(android): Navidrome-Adresse als Vorgabe, Login vorbelegt (1.3)

Ergaenzt Backend und Scrobble um die Navidrome-Adresse: alle drei kommen als
buildConfigField aus dem Build und greifen, wenn im Geraetespeicher nichts steht.
Der Anmeldebildschirm ist damit vorbelegt — beim ersten Start bleiben nur noch
Benutzer und Passwort. Die Felder in den Einstellungen bleiben sichtbar und
ueberschreibbar, ein Umzug ist also ohne neues APK zu korrigieren.

Zugangsdaten bleiben aussen vor. Das Publish-Skript reicht die Werte aus
scripts/.env.release durch, damit kuenftige Builds sie nicht verlieren.
Am erzeugten BuildConfig geprueft, alle vier Werte stehen darin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-09-06 20:37:13 +02:00
1 parent 334aa51a09
commit dfae34c706
5 files changed
+27 -7

No files matched your search

+8
View File
@@ -43,6 +43,11 @@ const TASK = process.env.APK_GRADLE_TASK || 'assembleDebug';
// Domainwechsel (beide Adressen oeffnen dann in der App), siehe docs/share-links.md.
const HOST = process.env.NOVASONIC_HOST || '';
const HOST2 = process.env.NOVASONIC_HOST2 || '';
// Vorgabe-Adressen, die ins APK gebacken werden, damit auf einem frischen Geraet nur noch Benutzer
// und Passwort einzutippen sind. Zugangsdaten kommen hier bewusst NICHT vor.
const ND_URL = process.env.NOVASONIC_NAVIDROME || '';
const BACKEND_URL = process.env.NOVASONIC_BACKEND || '';
const SCROBBLE_URL= process.env.NOVASONIC_SCROBBLE || '';
function die(msg) { console.error(`\n✖ ${msg}`); process.exit(1); }
if (!GITEA_URL || !GITEA_REPO || !GITEA_TOKEN)
@@ -82,6 +87,9 @@ if (!HOST) {
const gradleArgs = [`:app:${TASK}`];
if (HOST) gradleArgs.push(`-PnovasonicHost=${HOST}`);
if (HOST2) gradleArgs.push(`-PnovasonicHost2=${HOST2}`);
if (ND_URL) gradleArgs.push(`-PnovasonicNavidrome=${ND_URL}`);
if (BACKEND_URL) gradleArgs.push(`-PnovasonicBackend=${BACKEND_URL}`);
if (SCROBBLE_URL) gradleArgs.push(`-PnovasonicScrobble=${SCROBBLE_URL}`);
const build = spawnSync(gradlew, gradleArgs, {
cwd: join(root, 'android'), stdio: 'inherit', shell: isWin,
});