Xử lý lỗi thường gặp

Test-Path / LiteralPath báo chuỗi rỗng khi mở Assistant

Đây là lỗi của v1.3.0 khi máy chưa có builder.user.json hoặc keystorePath còn trống. v1.3.0.5 đã sửa: giao diện vẫn mở và dòng Android release signing hiển thị CẦN XỬ LÝ. Bấm Android signing để chọn hoặc tạo keystore; không cần copy biến PowerShell.

Variable reference is not valid / $RequiredExtension:

Đây là lỗi parser của v1.3.0.2 tại ExternalProcess.Common.ps1. v1.3.0.5 đã thay nội suy mơ hồ bằng toán tử -f và bắt buộc parse toàn bộ source bằng Windows PowerShell 5.1 trước khi mở Assistant hoặc build. Chạy 00_VALIDATE_NATIVE_WINDOWS.cmd; nếu không thấy NATIVE WINDOWS VALIDATION: PASS thì không tiếp tục build.

Android release signing FAIL dù đã tạo keystore

Nguyên nhân thường gặp: chạy trực tiếp 02_BUILD_ULTIMATE_DISTRIBUTED_DEMO.cmd trong cửa sổ mới nên các biến SCR_ANDROID_* của cửa sổ cũ không còn. Cách chuẩn ở v1.3.0.5: chạy START_FAST_DEMO_BUILDER.exe, cấu hình signing trong giao diện và để Assistant nạp DPAPI/environment cho tiến trình con.

Android SDK FAIL

Bấm Android SDK. Chọn thư mục chứa platform-tools, platforms, build-tools; thường là C:\Users\<USER>\AppData\Local\Android\Sdk. Cài Platform 35 nếu thiếu.

Gradle FAIL

Bấm GradleTạo Gradle Wrapper. Assistant ưu tiên Gradle đã cài; nếu không có sẽ tải Gradle 8.7 chính thức và xác minh SHA-256.

ExpiredTargetSdkVersion / lintVitalRelease

v1.3.0.5 giữ targetSdk 29 nhưng disable duy nhất lint rule ExpiredTargetSdkVersion cho APK FAST-DEMO phát hành trực tiếp. abortOnError và các lint error khác vẫn được giữ.

warning: The signature seems corrupted!

Cảnh báo xuất hiện khi inject Node SEA blob vào bản sao node.exe chưa Authenticode-sign. Builder tiếp tục kiểm tra manifest/hash. Đây không phải Android signing failure.

npm deprecated warning

Cảnh báo package deprecated không đồng nghĩa build thất bại. Chỉ xử lý khi có dòng ERR!, exit code khác 0 hoặc Builder báo FAIL.

Build đứng lâu

Xem công đoạn hiện tại và log trực tiếp. Lần đầu npm/Gradle/Python tải dependency có thể lâu. Không đóng cửa sổ và không xóa thư mục cache khi tiến trình đang chạy.

Không mở được secret DPAPI

Secret DPAPI được gắn với tài khoản/profile Windows. Nếu chuyển source sang máy hoặc tài khoản khác, cấu hình lại signing/PKI; không copy mật khẩu dạng rõ vào source.

License: xem HUONG_DAN_ACTIVATE_CAP_LICENSE_CHI_TIET_v1.3.0.6.4.8.md ở thư mục gốc.

ENOENT có chuỗi --config/--out nằm trong đường dẫn license\data

Đây là lỗi quote --root "%~dp0" khi %~dp0 kết thúc bằng dấu gạch chéo ngược. v1.3.0.5 chuẩn hóa SCR_TOPOLOGY_ROOT bỏ dấu cuối và launcher từ chối INVALID_COMMAND_LINE_ROOT nếu tham số bị nuốt.

DISTRIBUTED PACKAGE VERIFY: FAIL — application source leaked trong public

Nếu log chỉ liệt kê các file public\*.js dù trước đó có dòng Protected public assets, đây là false positive của verifier v1.3.0.4.1. v1.3.0.5 dùng manifest schema v2 và SHA-256 để phân biệt asset đã bảo vệ với source thật. Copy cache sang workspace mới và chạy 04_RESUME_FROM_STEP_11.cmd.

Expected property name or '}' in JSON at position 1 khi cấp license

Owner Kit cũ truyền JSON limits inline qua Windows PowerShell 5.1 nên dấu ngoặc kép có thể bị mất. v1.3.0.5 dùng --limits-file. Không sửa thủ công JSON; dùng Owner Kit mới được tạo lại ở bước 11.

Marker=False dù log PACKAGE PASS

Đây là lỗi v1.3.0.6.1 do GUI hard-code marker BUILDER=1.3.0.6. v1.3.0.6.4.8 đọc phiên bản từ builder-version.json và parse marker theo trường. Không copy riêng script cũ sang bản mới.