【问题标题】:mfp cordova plugin add : plugin not in /platform/androidmfp cordova 插件添加:插件不在 /platform/android
【发布时间】:2016-03-01 17:24:55
【问题描述】:

我们正在使用 MobileFirst Platform 7.1 开发一个项目,我们正在使用带有 cordova 的 mobilefirst-cli 创建一个项目:mfp cordova create

在我们添加android平台后:mfp cordova platform add android

然后我们添加这个插件:https://github.com/mauron85/cordova-plugin-background-geolocation

使用此命令:mfp cordova plugin add cordova-plugin-mauron85-background-geolocation

我们收到了这条消息:

添加“cordova-plugin-mauron85-background-geolocation”

插件“cordova-plugin-mauron85-background-geolocation”添加成功

但是当我构建我的项目时,我的插件没有添加到 \platforms\android\assets\www\plugins

我们在 P.O.C. 中使用了这个插件。没有 mobilefirst 并且它有效。

如果有人知道这个问题?提前谢谢你。

【问题讨论】:

    标签: cordova cordova-plugins ibm-mobilefirst mobilefirst-cli


    【解决方案1】:

    您尝试添加的插件使用 Cordova-Android 4.x 及更高版本中可用的框架标签。 MobileFirst Platform Foundation 7.1 中的 Cordova-Android 版本是 3.6.4,因此将无法解析该标签。

    要使此插件正常工作,您需要安装 iFix IF20160224-2343 或更高版本。此 iFix 有一些更改,可让您将项目导入 Android Studio。

    安装此 iFix 后,您需要克隆插件并修改其 plugin.xml。删除所有关于 google_play_services_version 的框架标签和元数据标签。接下来,使用以下命令将此插件添加到您的项目中: mfp cordova plugin add <path_to_plugin> 此时应该可以很好地添加插件。

    现在要将 Google Play 服务和支持 v4 添加回您的应用,您需要将项目导入 Android Studio。通过在项目的 platform/android 文件夹中导入 build.gradle 文件来做到这一点。将 Google Play 服务和支持 v4 依赖项添加到 build.gradle 文件。 Example of Google Play Services dependency

    最初在您的 plugin.xml 中的版本是“+”,表示拉取最新版本(当前为 8.4.0)。 8.4.0 与您的 compileSDKVersion 19 不兼容,因此我们建议您使用旧版本的 Google Play Services,否则您必须使用更高版本的 SDK。请记住,SDK 19 是此 Cordova 版本的完全支持版本,因此我们建议更改 Google Play 服务的版本而不是更改 SDK 版本。

    从 Android Studio 运行应用。这将使用 Gradle 而不是 CLI 使用的 Ant 构建,并正确下拉所有依赖项。

    【讨论】:

    • 我设法按照你说的构建了我的应用程序,但现在看起来 MFP 不起作用:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ibm.scanaa/com.ibm.scanaa.CordovaApp}: java.lang.RuntimeException: WLConfig(): Can't load wlclient.properties file我在 build.gradle 中有这个:compile 'com.android.support:support-v4:21.1.2'compile 'com.google.android.gms:play-services:8.4.0'defaultConfig { multiDexEnabled true versionCode Integer.parseInt("" + getVersionCodeFromManifest() + "0") } dexOptions { javaMaxHeapSize "4g" }
    • 如果您有 Android SDK 21 或 22,请尝试使用 Google Play Services 8.3.0。我遇到的问题是 8.4.0 仅适用于 Android SDK 23。导入 Android Studio 后,您应该使用Android Studio 从现在开始将您的应用程序部署到模拟器/设备。使用 MFP CLI 推送到服务器。
    • 我只是尝试在自己身上添加这个插件,然后通过将这些附加设置添加到 build.gradle 中,我让它在一个普通的 MFP 7.1 应用程序上运行。记住只能从 Android Studio 运行。由于 Google Play 服务仅通过 Gradle 引入,因此执行 mfp cordova 运行将使用 ANT 构建,这将出错。 defaultConfig { multiDexEnabled true } dexOptions { javaMaxHeapSize "4g" } 这些应该进入 build.gradle 的 android{} 闭包
    • 我忘记将我的应用程序推送到我的 MFP 服务器,现在它可以工作了,谢谢您的帮助!
    • 有趣的信息。我在哪里可以在官方网站上找到这些要求?例如:cordova-plugin-mfp 8 及以上版本使用哪个版本的cordova-android?
    猜你喜欢
    • 2016-03-22
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多