0

我在两个地方从事一个项目,现在我在家工作,我从 Git 中提取了这个项目。

在工作中,我在 IntelliJ 的外部库中看到了 android.jar 和 jfx.jar(不知道确切的名称),并且这些类可用。然而,在家里,罐子是不可见的,因此无法识别 android 类和 JFXActivity 类。

我现在不知道为什么 Gradle 不加载它,build.gradle 是一样的。

构建.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/**'
}
4

2 回答 2

0

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

于 2016-05-16T13:01:18.197 回答
0

您在此行中引用了 Android SDK:

androidSdk = "$System.env.ANDROID_HOME"

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

您必须使用以下方法之一让 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 系统环境变量。

于 2016-05-14T16:51:19.327 回答