使用弧焊机

时间:2016-03-23 06:07:46

标签: android google-chrome-app google-chrome-arc

此问题仅与应用开发者有关!

我正在尝试将我的Android应用转换并发布到Chrome网上商店。 我使用了谷歌入门指南中建议的弧焊机镀铬应用程序。 我从ARC焊接应用程序下载了zip。当我从焊工应用程序启动应用程序时,它正在按预期工作。

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

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

在ChromiumOS上安装时也是如此 - 应用程序正在成功下载,新的应用程序图标出现在应用程序抽屉中,在“检查”阶段之后,图标从应用程序抽屉中消失,并显示清单错误。

有人可以建议我如何解决这个问题吗? 任何帮助表示赞赏。

我列出了由arc welder生成的清单文件:

{
  "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"
  }
}

1 个答案:

答案 0 :(得分:2)

好的,这就是ARC的工作方式。

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

但是,它生成的最终应用依赖于App Runtime for Chrome扩展名。它加载了Shared Module mechanism,这是清单中的神秘ID "mfaihdlpglflfgpfjcifdjdjcckigekc"

此模块是必需的:您不能将它从清单中抛出,因为您的应用程序中嵌入的引擎需要从中加载文件。

但是,App Runtime仅具有Chrome OS体系结构所需的组件。 ARC Welder创建的应用are only supported on Chrome OS。在任何其他平台上,已安装共享模块但未提供所需文件,从而导致错误#1。 没有任何解决方案可以让您的应用通过网上应用店部署到除Chrome OS之外的任何内容。

您的错误#2源于Chrome尝试将您的应用加载为共享模块并且无效(没有"export"密钥)这一事实。你不能也不应该解决这个问题 - 尝试将自己导入为共享模块是没有意义的。

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