Skip to content

Latest commit

 

History

History
57 lines (42 loc) · 2.83 KB

VALIDATION.md

File metadata and controls

57 lines (42 loc) · 2.83 KB

Validation record

Validated locally on macOS with JDK 21, Gradle 8.11.1, AGP 8.10.1, Android SDK 36 and NDK 29.0.14206865.

Commands completed

./gradlew check build :app:assembleRelease :app:lintRelease --offline --console=plain --warning-mode all
python3 scripts/check_repository.py
git diff --cached --check
  • Native bspatch: 11 regression cases passed.
  • CLI: direct and relocated-distribution diff/patch, corrupt input and overwrite protection passed.
  • Debug/Release Android builds passed; Sample Debug/Release Lint: zero issues.
  • Sample APK ZIP alignment verified for 16 KB pages.
  • APK assets inspected: old.apk and update.patch only; all three configured native ABIs included.
  • APKs, local machine files and generated outputs are excluded from the commit.

Real Taobao pair

Source of truth: Apks/fixtures.json. Package: com.taobao.taobao. Old: 10.65.10 / 855. New: 10.65.20 / 856.

  • Patch: 62,029,138 bytes, SHA-256 d4053e4262db99842e2c07b2d70f1b95a2a2f43707eacbd3ec12426eb665e14a.
  • Reconstructed new APK: 94,692,038 bytes, SHA-256 24f8c5784857626f9fc784c9a8b8221779865ba01ddb15ef9670fcf14a4e77b4.
  • The reconstructed APK was compared byte-for-byte with the supplied new APK and matched.
  • Delta download is approximately 34.5% smaller than the new APK.

Generated assets and metadata are under ApkPatchLibrarySample/app/build/generated/fixtures/. They are generated by verifyFixtures (also a dependency of the Sample build) and ignored by Git.

Reliability follow-up

The following checks completed locally after the JNI, worker lifecycle and fixture publication changes:

./gradlew fixtureScriptTest :server:check :apkPatchLibrary:hostJniTest :apkPatchLibrary:hostNativeTest --offline --console=plain
./gradlew check build :app:assembleRelease :app:lintRelease --offline --console=plain
  • Fixture infrastructure: 11 tests passed, covering invalidation, concurrency, failure preservation and process cleanup.
  • JNI conversion-failure and worker timeout/interruption regressions passed.
  • The real APK pair was regenerated and reconstructed successfully with SHA-256 and byte equality checks.
  • Debug/Release builds passed; Sample Debug/Release Lint reported zero issues.
  • English and Chinese README links and command examples were checked for consistency.

Device acceptance and CI scope

The updated Debug Sample was installed and started on an Android 16 arm64 device, and on-device reconstruction was started. The installed target app was observed as version 10.65.20 / 856. The user confirmed successful manual launch and completed verification; further device checks were stopped at their request. An independent digest check of the on-device output was not completed.

GitHub Actions is configured for public-source checks. These local results do not establish a remote CI result. Third-party APKs and generated binaries are excluded from Git.