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:
- When active (and Auto mode on), users may skip meal/snack bolus and carb counting for periods of use.
- Toggle from Settings when the clinic / account allows it.
- Hybrid closed loop (manual boluses) remains available when Liberty is off.
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:
- Raised
targetSdk/compileSdk35 → 36 (Android 16) - Removed Google PairIP Play license client (
com.pairip.*,LicenseActivity,CHECK_LICENSE) - Kept therapy features (G7, Libre 3 / Plus, Liberty) without a new therapy feature bump
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
- Keep treating the installed app as CamAPS FX mmol/L 194 (
com.camdiab.fx_alert.mmoll,1.4(194).101). - Liberty access is not a second store app on this phone; look for the Liberty toggle under CamAPS Settings once the account is entitled.
- 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.
- If CamDiab later ships a true separate Liberty package id, re-run
pm list packagesand 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
- No root: cannot read account entitlement flags from app private storage.
- String scan is UTF-8 plaintext in base.apk; obfuscated class names may hide
fxfclas a literal. - This is technical documentation from APK / package analysis, not medical advice or official Ypsomed / CamDiab support.
Tools
- platform-tools adb (Android SDK)
- Android build-tools
aapt36.0.0 - Prior APKEditor merge/decompile archives for 192 and 194