使用弧焊机从Android应用程序移植Chrome应用商店 [英] Chrome app store porting from Android app using arc welder

查看:128
本文介绍了使用弧焊机从Android应用程序移植Chrome应用商店的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

This question is relevant to app developers only!

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

I am trying to convert and publish my android apps to chrome web store. I used the arc welder chrome app suggested in Google's getting started guide. I've downloaded zip from ARC welder app. When I launch the app from welder app, It's working as expected.

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

The issue 1 (solved): After publishing the zip file on Chrome app store and trying to install on Chrome running on OSX platform the app appear "Unsupported platform" and does not allow to install. I installed ChromiumOS on virtual machine and the app appears compatible. When trying to install it, the error "File not found" appears. It tries to extract file with the name of the app id listed in the manifest. I checked and found that the id in manifest does not match the id in app store. Unpacked the zip, changed the id in manifest according to id in app store,incremented the version number, repacked and published. After that tried to install - on Chrome running on OSX the app changed to compatible, but after downloading the zip and checking, appeared...

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

The issue 2 (unsolved yet): Appeared error "Manifest file is invalid"

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

The same happens when installing on ChromiumOS - the app is downloading successfully, the new app icon appears in apps drawer, and just after "checking" stage the icon disappeared from the apps drawer and the manifest error shows.

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

Can somebody advice me how to try to solve the issue? Any help appreciated.

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

I am listing the manifest file, generated by 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"
  }
}

推荐答案

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

Okay, so here's how ARC works.

借助ARC Welder应用程序,您可以在任何平台上测试/创建ARC应用程序.

The ARC Welder app allows you to test / create ARC Apps on any platform.

但是,它生成的最终应用程序依赖适用于Chrome的应用运行时扩展程序.它加载了共享模块机制,这是清单中的神秘ID "mfaihdlpglflfgpfjcifdjdjcckigekc"

However, the final apps it generates rely on the App Runtime for Chrome extension. It is loaded with the Shared Module mechanism, and that's the mysterious id "mfaihdlpglflfgpfjcifdjdjcckigekc" from the manifest.

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

This module is required: you can't just throw it away from the manifest as the engine embedded in your App expects files loaded from it.

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

However, the App Runtime has the required components only for Chrome OS architectures. ARC Welder-created Apps are only supported on Chrome OS. On any other platform, the shared module is installed but does not provide the required files, resulting in your error #1. There is no solution to make your app deployable to anything except Chrome OS via the Web Store.

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

Your error #2 stems from the fact that Chrome tries to load your app as a shared module and it's not valid for that (not having the "export" key). You can't and shouldn't fix that - it's nonsensical to try and import itself as a shared module.

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

As for why your unmodified App fails to load in a virtual Chrome OS - it's hard to say, but probably it runs on an architecture not supported by ARC Runtime. Needs more details on how you set up the VM.

这篇关于使用弧焊机从Android应用程序移植Chrome应用商店的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆