Как я могу отладить, почему мое прогрессивное веб-приложение PWA не конвертируется в apk для Android

Я пытаюсь преобразовать свой веб-сайт PWA в файл apk Android для распространения в магазине Google Play, но не могу создать файл apk с помощью Bubblewrap или PWABuilder. URL-адрес моего PWA - https://www.stephengarside.co.uk/.

Я запускаю следующую команду bubblewrap init --manifest "https://www.stephengarside.co.uk/manifest.json" и получаю следующую ошибку:

ОШИБКА недопустимое тело ответа json на https://www.stephengarside.co.uk/manifest.json причина: неожиданный токен в JSON в позиции 0

Мой файл manifest.json:

{
  "start_url": "/",
  "description": "The SG Digital app provides free articles on the latest web software development techniques including chatbots, VR and AR, progressive web apps and voice apps for smart speakers and displays.",
  "short_name": "SG Digital",
  "name": "SG Digital Web Development",
  "display": "standalone",
  "orientation": "any",
  "lang": "English",
  "scope": "/",
  "background_color": "#000",
  "theme_color": "#000",
  "icons": [
    {
      "src": "images/icons/icon-72x72.png",
      "sizes": "72x72",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-96x96.png",
      "sizes": "96x96",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-120x120.png",
      "sizes": "120x120",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-128x128.png",
      "sizes": "128x128",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-144x144.png",
      "sizes": "144x144",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-152x152.png",
      "sizes": "152x152",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-180x180.png",
      "sizes": "180x180",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-384x384.png",
      "sizes": "384x384",
      "type": "image/png",
      "purpose": "any maskable"
    },
    {
      "src": "images/icons/icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any maskable"
    }
  ],
  "screenshots": [
    {
      "src": "images/screenshots/screenshot1.jpg",
      "sizes": "1280x720",
      "type": "image/jpg"
    },
    {
      "src": "images/screenshots/screenshot2.jpg",
      "sizes": "1280x720",
      "type": "image/jpg"
    }
  ]
}

Мой PWA работает нормально, я могу установить его и не получаю ошибок на устройстве Windows или Android. Google Lighthouse тоже подтверждает это как PWA. Я получаю аналогичную ошибку с PWABuilder.

Я попытался переименовать файл в manifest.webmanfest, подтвердил манифест с помощью https://manifest-validator.appspot.com/.

Поскольку на моем компьютере уже установлен сервисный инструмент для приложения, я попытался отменить регистрацию, чтобы убедиться, что из кеша ничего не выводится, а также попытался запустить pwabuilder в режиме инкогнито.

Любая помощь приветствуется.

1 ответ

Оказалось, что это не имеет отношения к содержимому моего Json файла, это была кодировка. Я загрузил блокнот ++ и сохранил файл manifest.json в кодировке UTF8, что решило проблему. Вы можете прочитать немного больше в этой статье https://www.stephengarside.co.uk/blog/how-to-create-a-pwa-umbraco-website/

Другие вопросы по тегам