其他分享
首页 > 其他分享> > 使用弧焊机从Android应用移植Chrome应用商店

使用弧焊机从Android应用移植Chrome应用商店

作者:互联网

此问题仅与应用程序开发人员有关!

我正在尝试将我的Android应用程序转换并发布到chrome网站商店.
我使用了Google入门指南中建议的弧焊机chrome应用程序.
我已经从ARC焊机应用程序下载了zip文件.当我从焊机应用程序启动该应用程序时,它正在按预期工作.

问题1(已解决):
在Chrome应用商店上发布zip文件并尝试在OSX平台上运行的Chrome上安装后,该应用会显示“不受支持的平台”,并且不允许安装.
我在虚拟机上安装了ChromiumOS,该应用程序似乎兼容.
尝试安装时,出现错误“找不到文件”.它尝试提取清单中列出的应用程序ID的名称的文件.我检查发现清单中的ID与应用商店中的ID不匹配.解压缩zip,根据应用商店中的id更改清单中的id,增加版本号,重新打包并发布.之后尝试安装-在OSX上运行的Chrome上,该应用已更改为兼容,但下载zip并进行检查后,出现了…

问题2(尚未解决):
出现错误“清单文件无效”

在ChromiumOS上安装时,也会发生同样的情况-应用程序下载成功,新的应用程序图标出现在应用程序抽屉中,并且在“检查”阶段之后,图标从应用程序抽屉中消失,并且显示清单错误.

有人可以建议我如何尝试解决此问题吗?
任何帮助表示赞赏.

我列出了由弧焊机生成的清单文件:

{
  "name": "__MSG_extName__",
  "default_locale": "en",
  "manifest_version": 2,
  "version": "1.0",
  "version_name": "1.0",
  "offline_enabled": true,
  "app": {
    "background": {
      "page": "app_main.html"
    }
  },
  "icons": {
    "16": "icon.png",
    "128": "icon.png"
  },
  "permissions": [
    "alarms",
    {"fileSystem": ["write"]},
    "overrideEscFullscreen",
    "unlimitedStorage",
    "notifications",
    "storage",
    "accessibilityFeatures.read",
    "https://clients2.google.com/",
    {"socket": ["tcp-connect", "tcp-listen", "udp-bind", "udp-send-to", "resolve-host", "resolve-proxy"]},
    "fullscreen"]
,
  "requirements": {
    "3D": {
      "features": ["webgl"]
    }
  },
  "kiosk_enabled": true,
  "import": [{"id": "mfaihdlpglflfgpfjcifdjdjcckigekc"}],
  "file_handlers": {},


  "arc_metadata": {
    "apkList": [
      "CityAdventures.apk"
    ],
    "enableExternalDirectory": false,
    "formFactor": "tablet",
    "name": "Discover 3D Shapes",
    "orientation": "landscape",
    "packageName": "com.myCompany.CityAdventures",
    "resize": "reconfigure"
  }
}

解决方法:

好的,这就是ARC的工作原理.

ARC Welder应用程序允许您在任何平台上测试/创建ARC应用程序.

但是,它生成的最终应用程序依赖于App Runtime for Chrome扩展名.它装有Shared Module mechanism,这是清单中的神秘ID“ mfaihdlpglflfgpfjcifdjdjcckigekc”.

此模块是必需的:您不能仅仅将其从清单中丢弃,因为嵌入在您应用中的引擎会期望从清单中加载文件.

但是,应用程序运行时仅具有Chrome操作系统体系结构所需的组件. ARC Welder创建的Appsare only supported on Chrome OS.在任何其他平台上,都安装了共享模块,但未提供所需的文件,从而导致错误1.没有解决方案可以通过Web Store将您的应用程序部署到Chrome OS以外的任何其他设备.

您的错误#2源自Chrome尝试将您的应用作为共享模块加载,并且对此无效(没有“导出”键).您不能也不应该解决此问题-尝试将自己导入为共享模块是没有意义的.

至于为什么未修改的应用程序无法在虚拟Chrome操作系统中加载的原因-很难说,但是它可能在ARC Runtime不支持的体系结构上运行.需要有关如何设置虚拟机的更多详细信息.

标签:android,google-chrome-app,google-chrome-arc
来源: https://codeday.me/bug/20191010/1884491.html