此问题仅与应用开发者有关!
我正在尝试将我的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"
}
}
答案 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的更多详细信息。