2016-05-14 14 views
0

我從兩個位置開始項目工作,現在我在家工作,從Git中取出項目。jfxmobile插件不添加android.jar和javafxports jar

在工作中,我看到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/**' 
} 
+0

您是否定義了'ANDROID_HOME'?你下載了Android SDK嗎?你需要在每臺機器上完成它。當你運行'gradlew --info android'時,你會得到什麼錯誤? –

+0

您好José,我在系統環境變量中定義了ANDROID_HOME,我知道Gradle可以找到它們,因爲我使用println(「$ System.env.ANDROID_HOME」)執行任務。 gradlew --info android顯示沒有錯誤,並以構建成功結束,它顯示$ System.env.ANDROID_HOME已解析,我看到它添加了jfxrt.jar。 AndroidInstall也可以運行,apk可以與Android特定的功能一起使用。唯一不起作用的是IntelliJ不會將android.jar和jfxdvk.jar添加到外部庫。我想我可以從.gradle緩存手​​動添加依賴關係。 – progonkpa

+0

如果您構建並運行應用程序,_definitely_這些依賴關係就在那裏。在IntelliJ中,也許你需要點擊Gradle面板上的刷新按鈕來更新依賴關係列表。在外部庫下,您應該看到:android.jar,jdk1.8,魅力依賴項,javax-json,jfxdvk,加力燃燒器,robovm依賴項和您自己的。 –

回答

0

你引用了Android SDK在這條線:

androidSdk = "$System.env.ANDROID_HOME" 

根據Gluon Documentation確保SDK可以在該位置找到,或引用它:

你必須讓jfxmobile插件知道在哪裏尋找 Androi使用下列方法之一d SDK安裝目錄:

  • 在的build.gradle下jfxmobile.android限定的androidSdk屬性

  • 一個屬性的gradle具有名稱ANDROID_HOME:在定義〜/ .gradle/gradle.properties或通過傳遞-PANDROID_HOME到 gradle這個 構建

  • 與名稱的系統環境變量ANDROID_HOME

jfxmobile插件將首先嚐試查看androidSdk屬性是否已設置 。如果沒有,它會查找ANDROID_HOME gradle屬性 ,最後使用ANDROID_HOME系統環境變量。

+0

我驗證了Gradle可以通過執行println(「$ System.env.ANDROID_HOME」)的任務找到「$ System.env.ANDROID_HOME」。輸出是正確的。 – progonkpa

0

我安裝了IntelliJ 2016.1.2社區版,我可以確認所有依賴加載良好,包括android.jar,jfxdvk.jar和robovm jar。出於某種原因,IntelliJ 15.0.6終極版失敗了。

相關問題