CamAPS FX Liberty: access check on build 194

Investigation date: 07/10/2026

Question: after CamAPS FX Liberty became newly accessible on the phone, is there a separate Liberty APK/package, or is Liberty still inside the existing mmol/L CamAPS FX app?

Item Result
Device OnePlus 11 (CPH2449), Android 16, wireless ADB
Package found com.camdiab.fx_alert.mmoll only (Play installer)
Separate Liberty package None (pm list packages had no liberty / other camdiab id)
Launcher label CamAPS FX
versionName 1.4(194).101
versionCode 551
minSdk / targetSdk 33 / 36
Split APKs base + arm64_v8a + nb + xxhdpi (4 parts)
Binary vs prior 194 extract (05/10/2026) Byte-identical (all 4 split SHA256 match)

Method: wireless ADB pair/connect, pm list packages, pm path, dumpsys package, aapt dump badging, UTF-8 string scan of base.apk, compare to archive camaps-fx-mmoll-20261005-230724.


Executive summary

Question Answer
Is "CamAPS FX Liberty" a different Android package? No on this device. Only com.camdiab.fx_alert.mmoll is installed.
Did Play deliver a new Liberty binary today? No. Split APK SHA256 values match the 05/10/2026 194 extract exactly.
Where does Liberty live in the app? In-app FCL feature (full closed loop), already documented from build 192 (com.camdiab.fx_alert.fxfcl / CamAPS Liberty strings). Unchanged string set in 194.
Why does Liberty feel "newly accessible"? Almost certainly account / clinic / entitlement unlock (or Settings UI now shown), not a new package or a new versionCode.
Security / PairIP vs older mmol/L Same as 194 report: PairIP removed (no com.pairip, CHECK_LICENSE, LicenseActivity in base.apk scan).
DIY / xDrip+ / Nightscout No strings for xDrip or nightscout in base.apk. Same closed Companion / Glooko / mylife model as before.
In-app language picker No (localeConfig absent). UI follows device / Play language split (split_config.nb.apk present).
Widgets / watch No plain AppWidget / watchface strings in base.apk. Declares com.google.android.gms.permission.WEARABLE_INTERNAL (Wear/GMS related; not a new Liberty-only API).

At a glance (Liberty vs prior mmol/L work)

Area Prior 192 (Jun 2026) Prior 194 (05/10/2026) This extract (07/10/2026)
Package id com.camdiab.fx_alert.mmoll Same Same
versionName / versionCode 1.4(192).101 / 524 1.4(194).101 / 551 Same as 194
CamAPS Liberty (FCL) code/strings Added vs 189 Present, unchanged vs 192 Present (CamAPS Liberty in base.apk); no binary delta vs 194
PairIP Play license stack Present Removed Still absent
Separate Liberty APK N/A N/A Not installed
Merged APK SHA256 (194) n/a 7FF42CECCDA774B235C384196F7EE7213E0FE1F03451B81A31DB233DC7176A96 Same splits as that merge input

Packages discovered on device

Third-party diabetes-related packages of interest:

Package Role
com.camdiab.fx_alert.mmoll CamAPS FX (mmol/L), only CamDiab package
com.mydiabetes Unrelated myDiabetes app
com.eveningoutpost.dexdrip xDrip+ (separate; not CamAPS export)
com.glooko.logbook Glooko
tk.glucodata Juggluco-related

Commands used:

adb pair 192.168.1.25:42667 <pairing-code>
adb connect 192.168.1.25:40791
adb shell pm list packages | findstr /i cam
adb shell pm path com.camdiab.fx_alert.mmoll
adb shell dumpsys package com.camdiab.fx_alert.mmoll

No package id containing liberty or a second camdiab / fx_alert flavor was present (including disabled / uninstalled remnants).

Note: adb pair returned a transient protocol fault once; adb connect to the debug port still authorized the device (CPH2449 / OP594DL1).


Extract metadata

File SHA256
part1.apk (base) 16072B0B754A734E9F399BA8A29407AD3262323A8315FBCC945A8462EFDC1AE1
part2.apk (arm64_v8a) 284523E2A21B082E5FB593B2991B1BD10A54B71D40461FD2A30D599CF4E3A1B4
part3.apk (nb) E40514D55C1D9C204773E2FE7658742A5B72C9158321E8B6D0570C460B9333B3
part4.apk (xxhdpi) 0841C75026DB8E56B1E3A48C785CDBC893BB3458DB160818D0C7860F51409C52

These four hashes are identical to backups/camaps-fx/camaps-fx-mmoll-20261005-230724/. Re-merge / full decompile was not required for delta detection: there is no binary change to compare against that archive.

dumpsys also showed firstInstallTime / lastUpdateTime of 07/10/2026 10:52:35 (local device time). That indicates a reinstall or Play refresh today, but the payload is still 194 with the same hashes.

Archive copy of this pull: backups/camaps-fx/camaps-fx-mmoll-20261007-171213/ and D:\Temp\camaps-liberty-20261007-171213\.


What CamAPS Liberty is (unchanged since 192)

Official product page: CamAPS Liberty.

Liberty is CamDiab's optional full closed loop (FCL) mode inside CamAPS FX:

APK evidence from the earlier 189 vs 192 work (still valid for 194; string set unchanged 192→194):

Evidence Notes
Smali package com.camdiab.fx_alert.fxfcl Liberty / FCL implementation
User strings naming "CamAPS Liberty" Training, active/off, Auto-mode dependency
Telemetry key liberty_mode_usage Usage analytics (not a public export API)
Pump-related string keys e.g. camaps_liberty_ypso, camaps_liberty_dana

This extract confirms CamAPS Liberty still appears in base.apk (UTF-8 scan count: 6). No new Liberty-only package id.


Security and packaging (vs older mmol/L)

Relative to build 192, build 194 (this binary) already:

This Liberty access check adds: no further packaging change after 05/10/2026.


Permissions (194 / this extract)

Selected declared permissions from aapt dump badging on base.apk:

Permission Typical use
BLUETOOTH_SCAN / BLUETOOTH_CONNECT Pump / CGM BLE
NFC Libre-style NFC
FOREGROUND_SERVICE / FOREGROUND_SERVICE_CONNECTED_DEVICE Persistent therapy service
POST_NOTIFICATIONS Alerts
SEND_SMS SMS followers
SCHEDULE_EXACT_ALARM Timed alerts
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Keep loop alive
com.google.android.gms.permission.WEARABLE_INTERNAL Wear / GMS wearable path
Location (ACCESS_*_LOCATION, maxSdk 30) Legacy BLE scan support on older APIs

No CHECK_LICENSE permission in this build (PairIP era).


DIY / Companion / language (unchanged conclusion)

Topic Finding
xDrip+ / Nightscout export from CamAPS Not present in APK strings
CamAPS Companion Still CamAPS-to-CamAPS E2E; not an open glucose API
Glooko / mylife Cloud Still the cloud upload path
In-app language switch No; use phone language, Play split, or Android 13+ per-app language
Norwegian on this install Yes (split_config.nb.apk)

Practical takeaway

  1. Keep treating the installed app as CamAPS FX mmol/L 194 (com.camdiab.fx_alert.mmoll, 1.4(194).101).
  2. Liberty access is not a second store app on this phone; look for the Liberty toggle under CamAPS Settings once the account is entitled.
  3. For binary diffs, the 05/10/2026 192 vs 194 report remains the correct packaging/security comparison. This report only answers the Liberty-package question.
  4. If CamDiab later ships a true separate Liberty package id, re-run pm list packages and extract again; do not assume it from UI wording alone.

Related News Targeted reports

Report Date Focus
192 vs 194 (English) 05/10/2026 Android 16, PairIP removal, G7 logout copy
189 vs 192 (English) 17/06/2026 G7 + Liberty introduction
Official Liberty info — camdiab.com/liberty

Limits

Tools