Skip to main content

Add flutter to existing app — Challenges




I am using flutter last 2 year & successfully released 2 flutter apps on production before 2–3 month, decide to add flutter in existing android & iOS app(while it was in beta-experimental stage). Flutter team have provide better way to add same in flutter v1.2 — Good document than beta.
Article is not about integrate flutter in existing app but, It’s about challenges which i have faced after adding flutter in existing app.
I have integrate flutter module with my existing iOS & Android App (Same Application for both platform), developed 2 new features in flutter module & released successfully.
In last week I have to add new feature in flutter module which user is able to pick file from phone & upload it on server. I have decided to use file_picker: ^1.4.3+2.
Now, what I have is Native Application + Flutter Module < = > Image_picker Plugin in one App. In which I faced below challenges.
Same time flutter v1.12 released
Add-to-app is now released with Flutter v1.12. The updated documentations are at https://flutter.dev/docs/development/add-to-app/
  1. Multiple Channel Issue in Android — because of flutter 1.2 release has changed add on feature beta to stable, So, I am not able to use any flutter plugin which have old platform channel implementation.
The plugin `file_picker` is built using an older version of the Android plugin API which assumes that it’s running in a full-Flutter environment. It may have undefined behaviours when Flutter is integrated into an existing app as a module.
The plugin can be updated to the v2 Android Plugin APIs by following 
https://flutter.dev/go/android-plugin-migration.
  • Solution: this is temporary solution to use old plugin for android, file_picker: 1.2.0, some of plugins worked well.


2. In IOS, trying for pick document from flutter module it’s show me Attempt to present <UINavigationController: 0x104911200> on <Host_IOS_Flutter.ViewController: 0x10470fd70> whose view is not in the window hierarchy!
What I have done so far,
  • Solution 1: tried different plugins available https://pub.dev/ for document picker. but no luck.
  • Solution 2: Created my own plugin just for to make sure its working with add on app or not https://pub.dev/packages/filepicker_plugin in this case I am only able to open document picker, before that i must have to dismiss current flutter view controller. It’s frustrating to get data from new controller to previous which is already closed?? there is way but its change user behaviour & way of using application. It’s feel like….



Image By: http://analyticsatspeed.com/

Finally, i have post issue on GitHub & done for day.
Late night, I have read documentation again and found FlutterViewControllergot the idea :)
Solution 3: removed third party plugin & used my channel for document pick in IOs. This is temporary solution it may change with API changes.





Hope it help to use Add-to-app flutter modules.

Questions? Comments?



Comments

Popular posts from this blog

MCP vs CLI: Which One Fits Your AI Agent's Job?

  Every AI agent that touches the outside world does it one of two ways: it runs a shell command, or it calls a tool through the Model Context Protocol. Both get the job done, but they don't cost the same or fail the same way, which is why "MCP vs CLI" keeps resurfacing without resolving. I want to answer it for the cases that matter most: plain developer tooling, data-heavy systems like banking, forecasting pipelines, and transaction automation like billing or booking. Neither wins outright. Where you draw the line is the actual skill. Key Takeaways CLI is the default for anything the model already knows cold, git, file ops, text processing, since there's no schema tax and commands chain through pipes. MCP earns its cost when a system needs per-user auth, audit trails, or access to sources the model can't otherwise reach, exactly what regulated systems like banking require. Transaction automation works best split: deterministic code drives the repeatable steps, a...

Don't Ship AI Agent Skills Without Evals

At the AI Engineer World's Fair on July 1, 2026, Philipp Schmid, a Staff Engineer on the Gemini API and agents team at Google DeepMind, asked a room full of engineers a simple question: who uses skills with their coding agents? Every hand went up. Who has evals for those skills? Almost none. That gap is the entire talk, which Schmid also wrote up on his own blog, philschmid.de/testing-skills . His team indexed the skills ecosystem through SkillsBench and found the same pattern everywhere: people ship a SKILL.md file after two manual test runs and move on. It looks fine in a demo. It quietly corrupts outputs in production, because bad skills don't crash. They just make the agent confidently wrong. If you've already read our breakdown of Matt Pocock's Claude Code skills library , think of this as the other half of that story: what happens once you've installed a skill and it's actually running against real prompts. Key Takeaways SkillsBench indexed 47,000+ un...

ANDROID - Adding ActionBar Navigation Tabs

Note: if you are develop App < 3.0 Android OS then use  ActionBarSherlock   support library. ActionBarSherlock is an extension of the  support library  designed to facilitate the use of the action bar design pattern across all versions of Android with a single API. Create new Android Project : in Main Activity package com.AlarmManager; import android.os.Bundle; import android.view.View; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.Tab; import com.actionbarsherlock.app.SherlockFragmentActivity; public class AlarmManagerActivity extends SherlockFragmentActivity { public static String ACTIVE_TAB = "activeTab"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { setTheme(R.style.Theme_Sherlock_Light_DarkActionBar); super.onCreate(savedInstanceState); // s...