Skip to content

Latest commit

 

History

History
134 lines (116 loc) · 7.42 KB

0.2.0-build-8.md

File metadata and controls

134 lines (116 loc) · 7.42 KB

PyBLE 0.2.0 (8) Google Play open-testing handoff

Prepared 10 September 2026. The production Android bundle is built and locally validated. It has not been uploaded or submitted to Play Console by this preparation. The owner reports that open testing is enabled.

Start with the submission packet for listing fields, declarations, graphics, reviewer setup and tester guidance.

Artifact identity

Field Verified value
Application ID dev.pyble.pyble
Version 0.2.0, Android version code 8
Flavor and entry point productionRelease, lib/main.dart
Source commit 768fafe45beee7731d1a38480cc0463a2f5680cd
App tree 27fd1a264a576e68126c38f966db328559660249
AAB filename PyBLE-0.2.0-build-8-production-release.aab
AAB size 56,735,956 bytes
AAB SHA-256 ee2439589e2c2195ef4c861b524f871b0e5168e84fbea60a1cd379319c6eb5d7
Locally installable APK PyBLE-0.2.0-build-8-production-release.apk
APK size 58,891,654 bytes
APK SHA-256 3c98983a995c657f10a398d7b0f65a07c2d2af18e07c30e7d5dfc094eefcbdcf
Minimum / target / compile SDK 24 / 36 / 36
Native ABIs arm64-v8a, armeabi-v7a, x86_64
Flutter / Dart 3.44.1 / 3.12.1
Android Gradle Plugin / NDK 9.0.1 / 28.2.13676358
Protocol / qualified firmware baseline PBLE/1 / independently released agent 0.6.0

Upload-certificate SHA-256:

DC:A9:5C:50:60:CD:F4:93:6F:19:FD:8C:32:12:A8:71:C2:23:E2:BA:3F:B6:7B:62:26:17:9A:FF:DA:62:DD:57

Both artifacts were signed using the existing upload key supplied through the BLD-12 environment interface. Its certificate equals the earlier Play build-4 handoff and the retained owner upload certificate. Passwords were obtained locally through the existing secret manager and were not written to source or logs. Confirm the current upload certificate in Console's App integrity page before upload; Google's delivered-app signing certificate is a different role.

Artifacts, validation logs and raw captures live under the ignored directory local/publication/google-play/open-testing-2026-09-10/. Binary files and signing material are deliberately absent from Git. The app tree was clean at build time. Pre-existing untracked firmware engineering reports and upstream working files are unrelated to the Android input and were not included in its source commits. Later documentation/artwork commits do not change this app tree or relabel the binary's source commit.

Changes since the retained app build 5

The new candidate adds the complete offline Privacy policy from About and a distinct build identity. The policy identifies the maintainer, effective date, contact, optional GitHub traffic, direct BLE transfers and transport security, permissions, retention/deletion, platform handling and website infrastructure. Reading it preserves the running board session and editor/Blocks/console state. The current app source also retains the named-pin Blocks support and iOS 15 deployment floor already present before this preparation.

No Android runtime dependency, BLE protocol, firmware image, analytics feature, account, or network workflow was added for this handoff.

Completed validation

  • flutter pub get --enforce-lockfile succeeded with the tracked dependency lockfile unchanged.
  • flutter test --exclude-tags golden: 869 passed.
  • flutter test --tags golden: 31 passed. Four affected About tablet baselines were reviewed; the existing phone baseline remained unchanged.
  • flutter analyze: no issues. Dart format: 182 files, zero changes.
  • No-leak, SPDX, import-boundary and locale-parity gates passed. SPDX ran on a clean export of authored source plus the new publication files, avoiding traversal of ignored local firmware build inputs. App boundary/locale gates also ran against the working app directory.
  • Publication checks: 41 tests passed and all repository-local Markdown targets resolved.
  • Production release APK and AAB builds succeeded through the established signing path, using lib/main.dart and the production flavor.
  • jarsigner -verify accepted the AAB; its certificate matches the established upload certificate. apksigner verify accepted the APK.
  • Official bundletool 1.18.3 validation passed. The tool JAR's SHA-256 was checked against Google's GitHub release asset digest: a099cfa1543f55593bc2ed16a70a7c67fe54b1747bb7301f37fdfd6d91028e29.
  • Bundle configuration declares PAGE_ALIGNMENT_16K. All six packaged native shared libraries have 16 KiB-compatible ELF LOAD-segment alignment.
  • Both the direct production APK and an upload-key-signed universal APK generated from this exact AAB passed zipalign -c -P 16 -v 4.
  • Package, version, SDKs, ABIs, features and permissions were inspected from generated artifacts. The merged manifest adds only the expected AndroidX signature-protected dev.pyble.pyble.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION to the seven authored platform permissions. It adds no advertising ID, billing, background location, foreground service, all-files, camera, microphone or accessibility-service permission.
  • The signed production APK passed native launch → About → Privacy policy → Back checks on fresh API 34 phone and 7-inch tablet emulators. About showed 0.2.0 (8); no app crash or layout overflow was observed. Six current screenshots and four provenance-recorded physical Lenovo feature captures accompany the icon and feature graphic. Emulator checks used no fake board.

See the asset guide for the exact signed APK's emulator capture/smoke observations and historical physical-tablet image provenance. An ordinary API 34 emulator does not prove 16 KiB runtime operation or physical BLE behavior.

Remaining release checks

  1. Confirm that code 8 is unused and greater than every uploaded code in Play Console. Local evidence cannot establish the account's version history.
  2. Confirm the proposed country, age and feedback settings. Attest the completed Data safety worksheet, including the stated conservative GitHub metadata inferences, against the account's final form and public/in-app policy.
  3. Arrange compatible board access for Google review. The app requires a real board for the connected IDE; the supplied instructions do not prove that a reviewer has the hardware.
  4. Perform candidate-bound physical Android BLE checks, fresh install and Play-delivered upgrade testing, and review Play prelaunch/device reports. Test native runtime on an available 16 KiB device/emulator. This session had no physical Android/board connection and creates no new HIL pass.
  5. Keep iOS/Android source capability parity; the existing iOS artifact does not establish a distribution build with this new privacy page. Apply the project's distribution-parity gate before external release.
  6. Upload this AAB to Open testing, resolve Console issues, submit for review and roll out only after the recorded checks. Record the actual tester opt-in link and status. Update public website availability and send the prepared tester invitation only when the test is live.

No store approval, audience certification, resulting IARC rating, reviewer access, runtime 16 KiB test, physical HIL acceptance or iOS upload is inferred from the successful local Android build.