① 생성 도구의 update가 내 설정을 덮어쓴다
bubblewrap update를 돌릴 때마다 gradle.properties의 org.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