Как ссылаться на android.jar в проекте Gluon

введите здесь описание изображения

Выше мой проект Gluon для развертывания JavaFX на Android. Моя проблема в том, что я не могу ссылаться на android.jar. Как это решить?

build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b9'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
}

mainClassName = 'com.raes.Main'

jfxmobile {
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
    }
}

person Ethyl Casin    schedule 15.07.2015    source источник
comment
@ Хосе Переда, сэр, у вас есть идеи, как это решить?   -  person Ethyl Casin    schedule 15.07.2015
comment
Можете ли вы опубликовать свой build.gradle файл? У меня есть работающий образец Bluetooth здесь, и я не вижу этой проблемы.   -  person José Pereda    schedule 15.07.2015
comment
@JoséPeda, сэр, пожалуйста, смотрите build.gradle в обновленном вопросе.   -  person Ethyl Casin    schedule 15.07.2015
comment
Включаете ли вы импорт Android в исходные пакеты [Java]? Вам нужно добавить код в пакет Android/Java! Посмотрите этот пример здесь, чтобы узнать, как ссылаться на код Android из основного.   -  person José Pereda    schedule 15.07.2015
comment
@JoséPeda, большое спасибо! Теперь работает!   -  person Ethyl Casin    schedule 15.07.2015
comment
Хорошо, я добавлю это как правильный ответ здесь   -  person José Pereda    schedule 15.07.2015
comment
@ JoséPeda, сэр, почему я не могу импортировать классы из пакета Android в пакет java?   -  person Ethyl Casin    schedule 15.07.2015
comment
@EthylCasin Причина в том, что основные источники являются общими и не привязаны к какой-либо конкретной платформе. В терминах это означает, что эти исходники будут включены при создании соответствующих пакетов для Android, iOS и настольных компьютеров. Если вы, например, включите код Android в основные исходники, ваш код будет работать только на платформе Android. Это ломает идею, почему javafxports был создан в первую очередь: для создания приложений javafx поверх любой платформы. Если вам действительно нужен код для конкретной платформы, добавьте его в соответствующий исходный каталог.   -  person Joeri Sykora    schedule 15.07.2015


Ответы (1)


Когда вы создаете проект JavaFX с помощью плагина для NetBeans, по умолчанию используются четыре основных пакета. созданный:

  • Исходные пакеты [Java]
  • Пакеты рабочего стола/Java
  • Пакеты Android/Java
  • Пакеты iOS/Java

и четыре пакета ресурсов.

Также, если вы отметите Зависимости, по умолчанию будут эксклюзивные зависимости для Android (android.jar и jfxdvk jar) и для iOS (robovm jars).

Папки

Это означает, что вы можете поместить код Java в любую из четырех указанных областей, но вы можете использовать эти зависимости только в их определенной области: вы сможете добавлять зависимости Android только в пакетах Android/Java.

Если вы посмотрите на HelloPlatform в примерах репозитория JavaFXPorts, вы увидите способ справиться с тем, как для вызова кода вашей платформы из основного приложения.

Также проверьте этот проект, так как он уже включает зависимости Android Bluetooth, и посмотрите, как они вызываются из основного класса. , используя класс PlatformFactory, который во время выполнения загружает класс AndroidPlaftorm, если вы запускаете приложение JavaFX на устройстве Android.

person José Pereda    schedule 15.07.2015