mirror of
https://gitlab.com/vyla-entertainment/TV.git
synced 2026-11-09 17:47:20 -05:00
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
import { spawnSync } from 'node:child_process';
|
|
import fs from 'node:fs';
|
|
import path from 'node:path';
|
|
|
|
const root = process.cwd();
|
|
const win = process.platform === 'win32';
|
|
const androidDir = path.join(root, 'android');
|
|
|
|
const run = (cmd, args, cwd = root) => {
|
|
const r = spawnSync(cmd, args, { cwd, stdio: 'inherit', shell: win });
|
|
if (r.status !== 0) process.exit(r.status || 1);
|
|
};
|
|
|
|
const sdk = process.env.ANDROID_HOME || process.env.ANDROID_SDK_ROOT;
|
|
const lp = path.join(androidDir, 'local.properties');
|
|
if (!fs.existsSync(lp)) {
|
|
if (!sdk) {
|
|
console.error('Set ANDROID_HOME to your Android SDK folder (Android Studio: Settings > Languages & Frameworks > Android SDK).');
|
|
process.exit(1);
|
|
}
|
|
fs.writeFileSync(lp, 'sdk.dir=' + sdk.replace(/\\/g, '\\\\') + '\n');
|
|
}
|
|
|
|
const j = spawnSync('java', ['-version'], { shell: win, stdio: 'ignore' });
|
|
if (j.status !== 0) {
|
|
console.error('JDK 17 not found. Install it and make sure java is on your PATH (or set JAVA_HOME).');
|
|
process.exit(1);
|
|
}
|
|
|
|
run('node', ['scripts/build-android.mjs']);
|
|
run(win ? 'gradlew.bat' : './gradlew', ['assembleDebug'], androidDir);
|
|
|
|
const apk = path.join(androidDir, 'app/build/outputs/apk/debug/app-debug.apk');
|
|
if (!fs.existsSync(apk)) {
|
|
console.error('APK not found at ' + apk);
|
|
process.exit(1);
|
|
}
|
|
fs.copyFileSync(apk, path.join(root, 'vyla.apk'));
|
|
console.log('\nDone: ' + path.join(root, 'vyla.apk')); |