Oracle MAF:使用 cordova 插件时出现部署错误

Posted

技术标签:

【中文标题】Oracle MAF:使用 cordova 插件时出现部署错误【英文标题】:Oracle MAF : Deployment error when using cordova plugin 【发布时间】:2015-11-18 13:09:37 【问题描述】:

我尝试将 cordova 插件集成到 Oracle MAF 应用程序中,以访问图像捕获、音频和视频等不同功能。

作为示例,我已尝试使用来自 Github 的 cordova-plugin-media-capture。以下是解决方法,我已将下载的插件添加到 MAF 应用程序的 Additional Plugins 中。

请注意,我在项目之外有插件,因为在项目中使用它时遇到问题。 (您可以通过查看该帖子的编辑历史来获取详细信息。

现在,当我尝试部署应用程序时,我得到 INTERNAL_ERROR,下面是堆栈跟踪供您参考。

错误日志:

[06:07:41 PM] Installing "org.apache.cordova.network-information" for android
[06:07:41 PM] Installing "cordova-plugin-media-capture" for android
[06:07:41 PM] Fetching plugin "cordova-plugin-file" via plugin registry
[06:07:41 PM] Error Code : INTERNAL_ERROR
[06:07:41 PM] npm http GET http://registry.cordova.io/cordova-plugin-file
[06:07:41 PM] npm oracle.maf.mafhelper.api.MafHelperException: oracle.maf.mafhelper.api.MafHelperException: java.lang.Exception
[06:07:41 PM] at oracle.maf.mafhelper.internal.utils.MafHelperInternalUtilities.runProcess(Unknown Source)
[06:07:41 PM] at oracle.maf.mafhelper.internal.utils.MafHelperInternalUtilities.executeCmd(Unknown Source)
[06:07:41 PM] at oracle.maf.mafhelper.internal.utils.MafHelperInternalUtilities.addPlugin(Unknown Source)
[06:07:41 PM] at oracle.maf.mafhelper.internal.utils.MafHelperInternalUtilities.deploy(Unknown Source)
[06:07:41 PM] at oracle.maf.mafhelper.MafHelperMain.main(Unknown Source)
[06:07:41 PM] Caused by: oracle.maf.mafhelper.api.MafHelperException: java.lang.Exception
[06:07:41 PM] ... 5 more
[06:07:41 PM] Caused by: java.lang.Exception
[06:07:41 PM] at oracle.maf.mafhelper.api.MafHelperException.<init>(Unknown Source)
[06:07:41 PM] ... 5 more
[06:07:41 PM] Picked up _JAVA_OPTIONS: -Xmx512M
[06:07:41 PM] Shutting down Android Debug Bridge server...
[06:07:41 PM] Deployment cancelled.
[06:07:41 PM] ----  Deployment incomplete  ----.
[06:07:41 PM] An error occurred deploying Cordova plugins. (oracle.adfmf.framework.dt.deploy.android.deployers.plugins.AndroidPluginDeployer)

我用谷歌搜索了got the link for this issue。以下是我的尝试,但它们都不起作用。

缩短android sdk 路径、应用程序路径、插件路径。 所有路径都没有空格。 以管理员身份运行 JDeveloper。

如果您有任何想法,请分享您的想法。

【问题讨论】:

我遇到同样的问题该怎么办 您是否将插件保存在项目之外,即在本地系统中? @YogeshDoke 我还回答了我在下面针对此问题所遵循的解决方法。检查一下。 【参考方案1】:

要解决此问题,请将插件保留在项目之外(系统的本地驱动器)并使用以下步骤在 ma​​f-application.xml 文件中引用.

转到 JDeveloper 中的 Application Resources 块。 在 Description -> ADF 下打开 ma​​f-application.xml META-INF 文件夹。 ma​​f-application.xml 文件打开,请确保您已选择 Overview 模式。 然后按照本教程 (Registering Additional Plugins in Your MAF Application) 添加其他插件(您想使用)。 确保您未选中不需要的核心插件(如相机 - 当您添加cordova 媒体捕获插件时)。由于这会使 MAF 应用程序发生冲突,因此在构建部署文件时需要使用哪一个。 您可以打开ma​​f-plugin.xml文件确认是否添加了附加插件。

就是这样,部署应用程序并检查。

【讨论】:

初学者我必须把哪个插件放在我的项目之外 我在安卓设备上部署 您的应用中是否使用了任何插件? 这里我使用“cordova-plugin-media-capture”插件来捕捉图像/音频/视频。所以我从github.com/apache/cordova-plugin-media-capture 下载了插件作为 zip 文件并将其解压缩到我的本地驱动器中。它可以是任何驱动器,稍后您需要在maf-application.xml文件中引用它。 我可以在 Playstore 上上传我的 maf android 应用程序吗?我听说过每个用户这样的 oracle 许可费用:120 美元单用户更新和支持:26.40 美元所有用户处理器:5,800 美元所有用户更新和支持 1,276.00USD 我不明白这个成本【参考方案2】:

我还看到了 plugins.xml 文件随着时间的推移而损坏的地方。如果发生这种情况,请在 maf-plugin.xml 中手动清除所有插件。然后,在maf-application.xml中重新选择需要的插件。

【讨论】:

以上是关于Oracle MAF:使用 cordova 插件时出现部署错误的主要内容,如果未能解决你的问题,请参考以下文章

将 Cordova 组件添加到现有 MAF 应用程序

如何在 Oracle MAF 应用程序中使用 iOS 钥匙串?

甲骨文 maf 和甲骨文 af

C#]插件编程框架 MAF 开发总结

创建远程 URL 连接时无法访问 URI - Oracle MAF

每个 MAF 插件的 UI 线程