Hello Community,
I am facing a critical issue related to Android Extensibility Configuration and OutSystems OTA updates, and I would like clarification or an official workaround.
Scenario
I have a mobile app built with OutSystems.
I made changes in Extensibility Configuration (AndroidManifest-related changes such as intent-filters / deep links).
I generated a new APK/AAB and published it on the Google Play Store.
Users already have the app installed.
Problem
When users open the app before updating from Play Store, they immediately receive OTA updates (UI/logic changes).
After that, the app redirects the user to update the app from Play Store.
Even after updating the app from Play Store:
UI and logic changes are applied
❌ Extensibility Configuration changes (manifest changes) are NOT applied
This creates a conflict state where:
Runtime/UI is updated
Native configuration remains old
Expected Behavior
When a user updates the app from Play Store:
The entire APK (native + runtime) should be replaced
AndroidManifest / extensibility changes should be applied
Questions
Is this a known limitation of OutSystems mobile apps?
Is OTA update overriding or masking native APK updates?
Is there a supported way to force native extensibility changes to apply for all users?
Is it recommended to disable OTA updates when releasing extensibility changes?
What is the correct release strategy to avoid this conflict?
Current Workaround (not ideal)
Asking users to uninstall and reinstall the app
Forcing updates via version checks
Environment
Platform: OutSystems Mobile
Android App Bundle (AAB)
Play Store distribution
Extensibility changes: AndroidManifest (intent-filters / deep links)
This issue is very important for production apps, especially when deep links, permissions, or native integrations change.
Any official guidance, documentation reference, or best practice would be highly appreciated.
Thank you.
Hey @VIVEKKUMAR PANCHAL,I think this behavior you’re seeing is a known limitation of how OutSystems mobile OTA updates work versus native app updates, and it’s documented in the OutSystems docs.
Official OutSystems Documentation References
Over-the-air (OTA) upgrades behavior OutSystems explains that mobile apps support OTA (Over-the-air) upgrades — which update the runtime bundle (UI & logic) without going through the store — but this does not update the native shell (APK/AAB): Document Link
Mobile app update scenarios The official update scenarios documentation highlights mobile update mechanisms and reinforces that OTA (hybrid) updates are separate from full native updates, requiring new builds and distribution via the stores: Document Link
Mobile app packaging & distribution Generating and distributing your mobile app (AAB/APK) to the Play Store replaces the native app shell, but OTA updates continue to apply the runtime parts independently until users update the shell: Document Link
Update distribution configuration (Store-only vs Hybrid) OutSystems also provides a feature (under Configure mobile app updates distribution) to switch between hybrid (OTA) updates and store-only updates, so you can choose that users must update via the Play Store for all changes, at least in newer versions of the platform: Document Link
Keeping apps up to date (ODC guidance) OutSystems Developer Cloud docs further describe how app updates are handled and how versions are detected and updated on the device — reinforcing that this concerns the app’s dynamic content and not the native shell itself: Document Link
I hope this will help you.