2016-05-14 9 views
0

Ich arbeite an einem Projekt von zwei Standorten und ich zog das Projekt von Git jetzt arbeite ich zu Hause.jfxmobile Plugin fügt nicht android.jar und javafxports jar

Bei der Arbeit sehe ich android.jar und jfx.jar (nicht den genauen Namen kennen) in den externen Bibliotheken in IntelliJ und die Klassen sind verfügbar. Zu Hause sind die Gläser jedoch nicht sichtbar und die Android-Klassen und JFXActivity-Klassen werden nicht als Konsequenz erkannt.

Ich weiß jetzt nicht, warum Gradle es nicht lädt, das Build.gradle ist das gleiche.

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

Haben Sie 'ANDROID_HOME' definiert? Hast du das Android SDK heruntergeladen? Sie müssen es auf jeder Maschine tun. Wenn Sie 'gradlew --info android' ausführen, welchen Fehler bekommen Sie? –

+0

Hallo José, ich habe ANDROID_HOME in Systemumgebungsvariablen definiert und ich weiß, Gradle kann sie finden, weil ich eine Aufgabe mit println ("$ System.env.ANDROID_HOME") ausgeführt habe. gradlew --info Android zeigt keine Fehler und endet mit Build erfolgreich und es zeigt, dass $ System.env.ANDROID_HOME ist gelöst und ich sehe es jfxrt.jar hinzugefügt. AndroidInstall funktioniert auch und die apk funktioniert mit Android spezifische Funktionalität enthalten. Das einzige, was nicht funktioniert, ist, dass IntelliJ android.jar und jfxdvk.jar nicht zu externen Bibliotheken hinzufügt. Ich nehme an, dass ich die Abhängigkeiten manuell von .digle cache hinzufügen konnte. – progonkpa

+0

Wenn Sie die App erstellen und ausführen, _definitely_ sind diese Abhängigkeiten vorhanden. In IntelliJ müssen Sie möglicherweise auf die Schaltfläche zum Aktualisieren im Gruppenfenster klicken, um die Liste der Abhängigkeiten zu aktualisieren. Unter Externe Bibliotheken sollten Sie sehen: android.jar, jdk1.8, charme Abhängigkeiten, javax-json, jfxdvk, Nachbrenner, robovm Abhängigkeiten und Ihre eigenen. –

Antwort

0

Sie verweisen auf das Android SDK in dieser Zeile:

androidSdk = "$System.env.ANDROID_HOME" 

Vergewissern Sie sich das SDK kann an dieser Stelle zu finden oder auf sie verweisen nach dem Gluon Documentation:

müssen Sie das Jfxmobile Plugin wissen, wo Sie nach der Androi suchen d SDK-Installationsverzeichnis eine der folgenden Möglichkeiten verwenden:

  • eine androidSdk Eigenschaft definiert unter jfxmobile.android in build.gradle

  • eine gradle Eigenschaft mit dem Namen ANDROID_HOME: definiert in ~/.gradle/gradle.properties oder durch -PANDROID_HOME zum Gradle build

  • eine Systemumgebungsvariable mit dem Namen ANDROID_HOME

Passieren

Das jfxmobile Plugin wird zuerst versuchen zu sehen, ob eine androidSdk Eigenschaft gesetzt wurde. Wenn nicht, sucht es nach der GRADLE-Eigenschaft ANDROID_HOME und greift schließlich auf die Systemumgebungsvariable ANDROID_HOME zurück.

+0

Ich habe überprüft, dass Gradle "$ System.env.ANDROID_HOME" mit einer Aufgabe finden kann, die println ("$ System.env.ANDROID_HOME") ausführt. Die Ausgabe war korrekt. – progonkpa

0

Ich installierte IntelliJ 2016.1.2 Community Edition und ich kann bestätigen, dass alle Abhängigkeiten einschließlich android.jar, jfxdvk.jar und den Robovm-Gläsern gut geladen wurden. Aus irgendeinem Grund scheiterte es mit IntelliJ 15.0.6 ultimate.