Signed AAB guardrails, injected signing args, IPA version train check, Play notes lint at build

This commit is contained in:
CRTkafa 2026-10-23 08:49:43 +08:00
parent 707db2ebc6
commit 7960063e0e
12 changed files with 181 additions and 14 deletions

View file

@ -57,8 +57,9 @@ export const makeIpa = (infoPlist: Buffer | string, app = 'Example.app'): Buffer
]);
/** An AAB with an aapt2 proto manifest. */
export const makeAab = (pkg: string, versionCode: number, versionName = '1.0.0'): Buffer => makeZip([
export const makeAab = (pkg: string, versionCode: number, versionName = '1.0.0', signed = true): Buffer => makeZip([
{ name: 'BundleConfig.pb', data: Buffer.from([8, 1]) },
{ name: 'base/manifest/AndroidManifest.xml', data: encodeProtoManifest([{ name: 'manifest', attrs: { package: pkg, versionCode: String(versionCode), versionName } }, { name: 'uses-sdk', attrs: { minSdkVersion: '24', targetSdkVersion: '36' } }]) },
{ name: 'base/dex/classes.dex', data: Buffer.alloc(512, 1) },
...(signed ? [{ name: 'META-INF/UPLOAD.SF', data: 'sf' }, { name: 'META-INF/UPLOAD.RSA', data: 'rsa' }] : []),
]);