jfxmobile插件没有添加android.jar和javafxports jar

时间:2016-05-14 16:24:24

标签: mobile gradle javafxports gluon

我从两个地方开展项目工作,现在我在Git工作,现在我在家工作。

在工作中,我看到IntelliJ中外部库中的android.jar和jfx.jar(不知道确切的名称),这些类是可用的。然而,在家里,罐子是不可见的,并且Android类和JFXActivity类不被认为是结果。

我现在不知道为什么Gradle没有加载它,build.gradle是相同的。

的build.gradle:

buildscript {
    repositories {
        jcenter()
        maven {
            url 'http://xxxx.com:8080/artifactory/plugins-release'
        }
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.8'
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:+"
    }
}

apply plugin: 'com.jfrog.artifactory'
apply plugin: 'org.javafxports.jfxmobile'

artifactory {
    contextUrl = "${artifactory_contextUrl}"
    publish {
        repository {
            repoKey = 'libs-release-local'
            maven = true
        }
    }
    resolve {
        repository {
            repoKey = 'libs-release'
            maven = true
        }
    }
}

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

mainClassName = 'com.xxxx.scan.application.gluon.MainApplication'

dependencies {
    compile 'com.gluonhq:charm:2.1.1'
    compile 'com.airhacks:afterburner.mfx:1.6.2'
    androidRuntime 'com.gluonhq:charm-android:2.1.1'
    iosRuntime 'com.gluonhq:charm-ios:2.1.1'
    desktopRuntime 'com.gluonhq:charm-desktop:2.1.1'

    compile(group: 'com.essers.pxl2016', name: 'scan-server-definition', version: '0.0.1-SNAPSHOT')
    compile(group: 'com.essers.pxl2016', name: 'client', version: '1.0-SNAPSHOT')
    compile(group: 'com.essers.pxl2016', name: 'configuration', version: '1.0-SNAPSHOT')
    compile('com.google.code.gson:gson:2.2.4')
    testCompile "junit:junit:4.12"
}

task print << {
    println("$System.env.ANDROID_HOME")
}

jfxmobile {
    android {
        androidSdk = "$System.env.ANDROID_HOME"
        manifest = 'src/android/AndroidManifest.xml'
        compileSdkVersion = 21
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
        forceLinkClasses = [
                'com.xxxx.scan.application.gluon.**.*',
                'com.gluonhq.**.*',
                'io.datafx.**.*',
                'javax.annotations.**.*',
                'javax.inject.**.*',
                'javax.json.**.*',
                'org.glassfish.json.**.*'
        ]
    }
}

test {
    exclude 'com/xxxx/scan/application/gluon/**'
}

2 个答案:

答案 0 :(得分:0)

您可以在此行中引用Android SDK:

androidSdk = "$System.env.ANDROID_HOME"

确保可以在该位置找到SDK,或根据Gluon Documentation引用它:

  

你必须让jfxmobile插件知道在哪里寻找   Android SDK安装目录使用以下方法之一:

     
      
  • 在build.gradle中的jfxmobile.android下定义的androidSdk属性

  •   
  • 名为ANDROID_HOME的gradle属性:在〜/ .gradle / gradle.properties中定义,或者将-PANDROID_HOME传递给   gradle这个   构建

  •   
  • 名为ANDROID_HOME

  • 的系统环境变量   
     

jfxmobile插件将首先尝试查看androidSdk属性是否具有   已经设定。如果没有,它将查找ANDROID_HOME gradle属性   最后使用ANDROID_HOME系统环境变量。

答案 1 :(得分:0)

我安装了IntelliJ 2016.1.2社区版,我可以确认所有依赖项都加载得很好,包括android.jar,jfxdvk.jar和robovm jar。出于某种原因,IntelliJ 15.0.6终极版失败了。