2.0 KiB
Troubleshooting
The authoritative finalized transaction is out/current/build.json. On PASS, use out/current/package.json and out/current/kam-mobile.apk. On FAIL or BLOCKED, read that metadata and the matching transient logs: build/<build_id>/logs/compile.log, build/<build_id>/logs/package.log, and build/<build_id>/logs/signature.log when apksigner was available and invoked.
Docker, toolchain, or network unavailable
Check Docker access, free space, network access, and write permission to the repository before rerunning. Do not use sudo as an automatic workaround. With --local, verify that the installed Castle, FPC, Java, Android SDK/NDK, and Android cross-compiler agree.
Missing Pascal unit, include, package, resource, or native object
Follow the active dependency chain in compile.log. Desktop LCL units, generated includes, or native objects may need their upstream Android-compatible build input; do not add empty replacements. Source ownership remains the pinned vendor/kam_remake receipt plus RP01's registered adaptation/resolution owners, config/extra-paths.json and tools/source_resolution.py.
Native link failure or undefined symbol
Use compile.log to identify the first missing native dependency and confirm it has the selected Android ABI. A desktop library or a same-named stub is not a valid fix.
APK or native-library integrity failure
Use package.log to inspect the packaged APK, ABI, and native-library findings. When present, signature.log records apksigner inspection. Do not substitute an older APK: only the current finalized package metadata identifies the current package.
Modified or unrecorded source
The pinned vendor receipt/source verification detects changed or unrecorded source. Do not edit vendor/kam_remake to obtain a clean result; make project-owned adaptations through the registered RP01 path instead.
reports/** and dist/** are frozen Task-1 historical evidence, not inputs to current diagnosis.