Iam integrating FlutterActivity to a native Android app. I have CustomFlutterActivity which inherits from FlutterActivity, which I want to launch using cached FlutterEngine.

This is the code from the documentation for how to do this:


What I want to achieve is to launch my CustomFlutterActivity with my cached engine (and not a generic FlutterActivity as the documentation says)

Solution 1: beltry

In your CustomFlutterActivity which I suppose is derived from FlutterActivity you can override getCachedEngineId and provide the my_engine_id you have previously cached according to the docs, namely:

      .put("my_engine_id", flutterEngine);


class CustomFlutterActivity: FlutterActivity() {
    override fun getCachedEngineId(): String? {
        return "my_engine_id"

See docs

Solution 2: Karandeep Singh

You can override provideFlutterEngine and return FlutterEngine from the cache.

class CustomFlutterActivity : FlutterActivity() {
    override fun provideFlutterEngine(context: Context): FlutterEngine? {
        return FlutterEngineCache.getInstance().get("flutter_engine")