What's New
Google Play Services Removed
- Replaced
com.google.android.gms:play-services-locationwith Android's nativeLocationManagerAPI — the app no longer contains any proprietary Google libraries - Location tracking, background updates, and foreground service notification all work identically using standard Android APIs
- Geofencing remains server-side (haversine distance calculation) — unaffected by this change
- Applied via
patch-packageso the change is transparent and easily reversible
APK Size Reduction
- Excluded 17 unused icon font files (only Ionicons and MaterialCommunityIcons are used)
- Enabled native lib compression via
useLegacyPackaging - Enabled JS bundle compression via
enableBundleCompression - Combined with the GMS library removal, expect a noticeably smaller APK
Technical Details
expo-locationv55.1.2 patched at the Android native layer (Kotlin)FusedLocationProviderClientreplaced withLocationManager.requestLocationUpdates()getCurrentLocation()(API 30+) withrequestSingleUpdate()fallback for older devices- Provider selection via
Criteriabased on accuracy settings (GPS for high accuracy, network for balanced/low) - Background task consumer uses both
PendingIntent(survives process death) andLocationListener(foreground reliability) - Client-side
GeofencingTaskConsumerstubbed (not used — FindMe uses server-side geofencing)
Compatibility
- All existing app functionality preserved — no changes to the JavaScript layer
- Works on standard Android, microG, and degoogled devices
- Patch auto-applies on
npm installvia postinstall script