0

私は 2 つの場所からプロジェクトに取り組んでおり、現在は自宅で仕事をしている Git からプロジェクトをプルしました。

職場では、IntelliJ の外部ライブラリ内に android.jar と jfx.jar (正確な名前はわかりません) が表示され、クラスが利用可能です。ただし、自宅では、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/**'
}
4

2 に答える 2

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 に答える
0

IntelliJ 2016.1.2 Community エディションをインストールしましたが、android.jar、jfxdvk.jar、および robovm jar を含むすべての依存関係が適切にロードされていることを確認できます。何らかの理由で、IntelliJ 15.0.6 Ultimate で失敗しました。

于 2016-05-16T13:01:18.197 に答える