libGDX 1.6.1

libGDX 1.6.1

Этот релиз содержит значительные изменения в системе сборки. iOS нативные библиотеки, например, gdx код, freetype, bullet или box2d теперь упаковываются с использованием RoboVM Jar схемы для нативных библиотек. Статические библиотеки хранятся внутри jar файла в директории META-INF/robovm/ios/libs. Кроме того, небольшой файл robovm.xml хранится в META-INF/robovm/ios/robovm.xml, этот файл описывает нативные библиотеки в libs директории которую должен связать RoboVM.

Если вы обновили существующий проект до версии libGDX 1.6.1, то вам нужно сделать несколько изменений в build.gradle и ios/build.gradle файлах вашего проекта!

В корневом build.gradle файле для iOS проекта вы увидите что-то подобное:

project(":ios") {
    apply plugin: 'java'
    apply plugin: 'robovm'

    configurations { natives }

    dependencies {
        compile "org.robovm:robovm-rt:${roboVMVersion}"
        compile "org.robovm:robovm-cocoatouch:${roboVMVersion}"
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
    }
}

Вам нужно изменить имя конфигурации natives на compile, так же как и для использования обычных Java зависимостей.

В ios/build.gradle файле можно удалить copyNatives и updateRoboVMXML задачи и любые другие строки, которые ссылаются на эти задачи. В итоге должно получится что-то вроде этого:

sourceSets.main.java.srcDirs = [ "src/" ]

sourceCompatibility = '1.7'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

ext {
 mainClassName = "com.mygdx.game.IOSLauncher"
}

launchIPhoneSimulator.dependsOn build
launchIPadSimulator.dependsOn build
launchIOSDevice.dependsOn build
createIPA.dependsOn build


eclipse.project {
    name = appName + "-ios"
    natures 'org.robovm.eclipse.RoboVMNature'
}

После этих изменений просто установите в корневом build.gradle файле gdxVersion на "1.6.1".

Вот список всех изменений данного релиза:

  • Добавлен дополнительный аргумент имени хоста в Net.newServerSocket метод, позволяющий привязку определенного IP для серверных приложений, сделанных с использованием gdx.
  • Изменен способ обработки нативных iOS библиотек. Удалены updateRoboVMXML и copyNatives задачи из ios/build.gradle файла. Теперь нативные библиотеки упаковываются в jar файлы с META-INF/robovm/ios директорией. Кроме того, robovm.xml файл там же, что позволяет RoboVM сделать слияние с robovm.xml файлом проекта.