2016-05-14 4 views
0

Я работаю над проектом из двух мест, и я вытащил проект из Git, теперь я работаю дома.jfxmobile плагин не добавляет android.jar и javafxports jar

В работе я вижу android.jar и jfx.jar (не знаю точное имя) внутри внешних библиотек в IntelliJ, и классы доступны. Однако дома, банки не видны, и классы андроидов и классы 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 андроид не показывает ошибок и заканчивается успешной сборкой, и это показывает, что $ System.env.ANDROID_HOME разрешен, и я вижу, что он добавляет jfxrt.jar. AndroidInstall также работает, и apk работает с включенной функциональностью Android. Единственное, что не работает, это то, что IntelliJ не добавляет файлы android.jar и jfxdvk.jar во внешние библиотеки. Я полагаю, что я мог бы добавлять зависимости вручную из кеша .gradle. – progonkpa

+0

Если вы создаете и запускаете приложение, то _definitely_ эти зависимости есть. В IntelliJ, возможно, вам нужно нажать кнопку обновления на панели «Грейдл», чтобы обновить список зависимостей. В разделе «Внешние библиотеки» вы должны увидеть: android.jar, jdk1.8, зависимости charm, javax-json, jfxdvk, afterburner, зависимости robovm и свои собственные. –

ответ

0

Вы ссылаться на Android SDK в этой строке:

androidSdk = "$System.env.ANDROID_HOME" 

Убедитесь, что SDK можно найти в этом месте, или ссылку на него в соответствии с Gluon Documentation:

Вы должны сообщить, что плагин jfxmobile знает, где искать Androi д каталог установки SDK, с помощью одного из следующих способов:

  • Свойство androidSdk определено в jfxmobile.android в build.gradle

  • Gradle свойство с именем ANDROID_HOME: определено в ~/.gradle/gradle.properties или пропусканием -PANDROID_HOME к Gradle сборки

  • системной переменной среды с именем ANDROID_HOME

Плагин jfxmobile сначала попытается посмотреть, установлено ли свойство androidSdk . Если нет, он будет искать свойство gradle ANDROID_HOME и, наконец, прибегнуть к переменной окружения ANDROID_HOME.

+0

Я проверил, что Gradle может найти «$ System.env.ANDROID_HOME» с задачей, которая выполняет println («$ System.env.ANDROID_HOME»). Результат был верным. – progonkpa

0

Я установил версию сообщества IntelliJ 2016.1.2, и я могу подтвердить, что все зависимости загружены хорошо, включая android.jar, jfxdvk.jar и robovm jars. По какой-то причине он не удался с IntelliJ 15.0.6.