toyota-connected / ivi-homescreen

Embedded Flutter runtime targeting Embedded Linux with Wayland

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How do I run release version of flutter app with ivi-homescreen ?

shrkamat opened this issue · comments

Firs of all this is not an issue. I am not able to find steps to run release version of flutter apps.

With this patch I was able to run debug version of the the apps with ivi-homescreen.

diff --git a/shell/engine.cc b/shell/engine.cc
index 5eb4205..7c979f1 100644
--- a/shell/engine.cc
+++ b/shell/engine.cc
@@ -87,7 +87,7 @@ Engine::Engine(App* app, size_t index)
       }),
       m_renderer_config(
           {.type = kOpenGL,
-           .open_gl = {
+           .open_gl = FlutterOpenGLRendererConfig {
                .struct_size = sizeof(FlutterOpenGLRendererConfig),
                .make_current = [](void* userdata) -> bool {
                  auto e = reinterpret_cast<Engine*>(userdata);

Above fix is probably only required for g++ & not clang++.

$ g++ --version
g++ (Ubuntu 11.2.0-7ubuntu2) 11.2.0

However when I attempt to run release bundle I see an error about missing flutter_assets/kernel_blob.bin

[INFO:display.cc(67)] No agl_shell extension present
[INFO:display.cc(71)] WL_SHM_FORMAT_XRGB32 not available
[INFO:display.cc(257)] Pointer Present
[INFO:display.cc(266)] Keyboard Present
[ERROR:/home/skamath/proactive/flutter/ivi-homescreen/shell/engine.cc(142)] (0) /usr/local/share/homescreen/bundle/flutter_assets/kernel_blob.bin missing Flutter Kernel

There are the types of engine builds. Runtime=debug, runtime=release, runtime=profile. In order to run AOT image, you need engine version release, or profile. This is why there is a runtime check in the embedder. Engine runtime=debug only work with non-AOT flutter build; flutter build bundle