ai-coding-mines목차GitHub

TWA/Android 빌드 3대 함정 (Windows)

배포 · 인프라

① 생성 도구의 update가 내 설정을 덮어쓴다

bubblewrap update를 돌릴 때마다 gradle.propertiesorg.gradle.jvmargs가 기본값(-Xmx1536m)으로 되돌아간다. 메모리 여유가 그보다 적은 머신에서는 즉시 실패한다.

Error occurred during initialization of VM
Could not reserve enough space for 1572864KB object heap

처방: 파일 대신 환경변수를 쓴다. 환경변수가 파일보다 우선한다.

$env:GRADLE_OPTS="-Xmx768m -Dfile.encoding=UTF-8"

파일도 같이 고치되, update 후 매번 재확인한다.

생성기가 관리하는 파일에 내 설정을 두면 다음 생성 때 사라진다.

② 프로젝트 경로에 비ASCII 문자가 있으면 빌드가 거부된다

Your project path contains non-ASCII characters

처방: ASCII 경로에서만 작업한다(C:\dev\proj). overridePathCheck로 끄지 말 것 — 검사를 끈다고 아래쪽 도구들이 그 경로를 다루는 건 아니다.

③ 매니페스트를 고친 뒤 반드시 update를 돌린다

twa-manifest.json설계도일 뿐이고 실제 빌드 대상은 app/build.gradle이다. 패키지명만 고치고 바로 빌드하면 옛 패키지명으로 빌드된다.

매니페스트 편집 → update → gradle.properties 복구 → build

★ 그리고 메모장으로 편집하면 경로 이스케이프가 깨진다(C:||dev||proj||). 구조화된 편집을 쓴다.

$m = Get-Content twa-manifest.json -Raw | ConvertFrom-Json
$m.signingKey.path = "C:\dev\projpp.keystore"
$m | ConvertTo-Json -Depth 10 | Set-Content -Encoding UTF8 twa-manifest.json