2016-05-14 1 views
0

私は2つの場所からプロジェクトに取り組み、Gitからプロジェクトを引っ張りました。jfxmobileプラグインはandroid.jarとjavafxports jarを追加しません

私は、IntelliJの外部ライブラリ内でandroid.jarとjfx.jar(正確な名前はわかりません)を見ています。これらのクラスは利用可能です。しかし、自宅では、瓶は見えず、アンドロイドクラスと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/**' 
} 
+0

あなたは 'ANDROID_HOME'を定義しましたか? Android SDKをダウンロードしましたか?あなたはすべてのマシンでそれを行う必要があります。 'gradlew --info android'を実行すると、どのようなエラーが出ますか? –

+0

こんにちはJosé、私はシステム環境変数で定義されたANDROID_HOMEを持っています。私はprintln( "$ System.env.ANDROID_HOME")でタスクを実行したため、Gradleがそれらを見つけることができます。 gradlew --infoアンドロイドはエラーを表示せずにビルドに成功し、$ System.env.ANDROID_HOMEが解決され、jfxrt.jarが追加されていることがわかります。 AndroidInstallも動作し、apkはAndroid固有の機能を備えています。唯一動作しないのは、IntelliJが外部ライブラリにandroid.jarとjfxdvk.jarを追加しないことです。私は.gradleキャッシュから手動で依存関係を追加することができると思います。 – progonkpa

+0

アプリケーションをビルドして実行すると、_definitely_それらの依存関係が存在します。 IntelliJでは、Gradleパネルの更新ボタンをクリックして依存関係のリストを更新する必要があります。外部ライブラリの下には、android.jar、jdk1.8、charm依存関係、javax-json、jfxdvk、afterburner、robovm依存関係、および独自の依存関係が表示されます。 –

答えて

0

あなたはこのラインでAndroidのSDKを参照します。

androidSdk = "$System.env.ANDROID_HOME" 

SDKは、その場所で見つけることができることを確認し、またはGluon Documentationに応じてそれを参照:

あなたは、jfxmobileプラグインにどこを探すかを知らせる必要があります。 Androi次のいずれかの方法を使用してD SDKのインストールディレクトリ:

  • build.gradleにjfxmobile.androidの下で定義されたandroidSdkプロパティ

  • 名ANDROID_HOMEとGradleのプロパティ:で定義されて〜/ .gradle/gradle.propertiesまたは

ANDROID_HOME

のGradle ビルド

  • 名前のシステム環境変数に-PANDROID_HOMEを渡すことにより、

    jfxmobileプラグインは、最初にandroidSdkプロパティが に設定されているかどうかを調べます。そうでなければ、ANDROID_HOMEのグラデルプロパティー を検索し、最後にANDROID_HOMEシステム環境変数を使用します。

  • +0

    Gradleがprintln( "$ System.env.ANDROID_HOME")を実行するタスクで "$ System.env.ANDROID_HOME"を見つけることができることを確認しました。出力が正しい。 – progonkpa

    0

    IntelliJ 2016.1.2 Community Editionがインストールされており、android.jar、jfxdvk.jar、およびrobovm jarsを含むすべての依存関係が正しくロードされていることを確認できます。なんらかの理由で、IntelliJ 15.0.6の究極のもので失敗しました。

    関連する問題