无法使用 gradle 为移动设备构建 gluon 项目

Can't build a gluon project for mobile using gradle

我按照 http://docs.gluonhq.com/charm/4.0.1/#_getting_started. I'm using eclipse 4.5.2 and JDK 1.8.0_102. I also downloaded Android Studio with the 24/25 API level SDK from https://developer.android.com/studio/index.html#Other 上的说明进行操作。这是我所做的:

  1. 下载了gradle3.1并设置了环境变量所以gradle -vreturns正确的信息。
  2. http://download.gluonhq.com/tools/eclipse/release
  3. 安装了 eclipse gluon 插件版本 2.4.0
  4. 从 Buildship 安装了 Buildship 1.0.21 - http://download.eclipse.org/buildship/updates/e45/releases/1.0
  5. 创建了教程中所示的 gluon 项目并检查了平台:android、iOS 和桌面。项目创建成功。
  6. 打开了“显示视图”菜单

    并选择了 Gradle 个任务

  7. gradle 任务视图看起来与教程不同:

    我选择了 GluonTest/application/run 任务,它在桌面上运行良好。但是我找不到你在图片中看到的 androidInstalllaunchIOSDevice 任务。

这是我的 gradle.build 文件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.1.1'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
}

mainClassName = 'gluon.main.GluonApplication'

dependencies {
    compile 'com.gluonhq:charm:4.0.1'
}

jfxmobile {
    downConfig {
        version = '3.0.0'
        plugins 'display', 'lifecycle', 'statusbar', 'storage'
    }
    android {
        manifest = 'src/android/AndroidManifest.xml'
        androidSdk = 'C:/Users/Mark/AppData/Local/Android/sdk'
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
        forceLinkClasses = [
                'com.gluonhq.**.*',
                'javax.annotations.**.*',
                'javax.inject.**.*',
                'javax.json.**.*',
                'org.glassfish.json.**.*'
        ]
    }
}

我唯一改变的是添加行 androidSdk = 'C:/Users/Mark/AppData/Local/Android/sdk'.

我知道我还不能构建 iOS 项目,但我应该能够构建 android。我该怎么做?

更新 Eclipse Mars 后我可以重现您的问题,恢复所有任务的解决方案很简单:

基于这个thread,似乎还有public和私人任务。

因此默认情况下只有 public 个任务(添加到任何类型的组的任务)可见:

单击任务视图右侧的向下箭头图标:

Select Show All Tasks:

您将拥有一个新组:other,缺少的任务如 androidlaunchIOSDevice