'LG WebOS cannot run web app which requires an http server on Simulator

I've got an idea to run Flutter app on WebOS. I've downloaded the latest WebOS sdk and a Simulator (as they already deprecated the Emulator) I've created a simple Hello World app that simply uses HTML and it ran just fine on the Simulator. Then I decided to add a logic for running Flutter app to it. So now the compiled app structure is like this enter image description here

The content of the index.html is as follows

<!DOCTYPE html>
<html>

<head>
  <base href="/">

  <meta charset="UTF-8">
  <meta content="IE=Edge" http-equiv="X-UA-Compatible">
  <meta name="description" content="A new Flutter project.">

  <!-- iOS meta tags & icons -->
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <meta name="apple-mobile-web-app-title" content="flutter_iz_tube_tv">
  <link rel="apple-touch-icon" href="icons/Icon-192.png">

  <!-- Favicon -->
  <link rel="icon" type="image/png" href="favicon.png" />

  <title>IZ Tube TV</title>
  <link rel="manifest" href="manifest.json">

  <script>
    // The value below is injected by flutter build, do not touch.
    var serviceWorkerVersion = '3924677883';
  </script>
  <script src="flutter.js" defer></script>
  <script src="webOSTVjs-1.2.4/webOSTV.js" charset="utf-8"></script>
  <script src="webOSTVjs-1.2.4/webOSTV-dev.js" charset="utf-8"></script>
</head>

<body>
  <script>
    window.addEventListener('load', function (ev) {
      // Download main.dart.js
      _flutter.loader.loadEntrypoint({
        serviceWorker: {
          serviceWorkerVersion: serviceWorkerVersion,
        }
      }).then(function (engineInitializer) {
        return engineInitializer.initializeEngine();
      }).then(function (appRunner) {
        return appRunner.runApp();
      });
    });
  </script>
</body>

</html>

And here is the content of appinfo.json

{
  "id": "com.example",
  "version": "0.0.1",
  "vendor": "Test TV",
  "type": "web",
  "main": "index.html",
  "title": "tv_app",
  "icon": "icon.png",
  "largeIcon": "largeIcon.png"
}

This app runs fine in browser if I use a web server. But the problem starts when I load it on a WebOS Simulator using App button on RCU.

enter image description here

I just cannot run. And the problem is, obviously, because it uses a simple file: protocol instead of running an http server. I've googled a lot and haven't found a solution to this. Does anyone know how to run an app like this in simulator?



Solution 1:[1]

I've found out it's impossible to do in a Simulator. But there is a workaround. We can add a redirection to the "head" part of index.html file like this (https://webostv.developer.lge.com/develop/app-developer-guide/hosted-web-app/):

<meta http-equiv="refresh" content="0;url=http://0.0.0.0:8080/index.html">

Thus effectively redirecting it to the remote app. And WebOS can display a Flutter app

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Konstantin