Skip to content

Сборка и запуск

CORRUPTOR2037 edited this page Jul 31, 2018 · 20 revisions

Тут рассказывается, как собрать DeskChan самому из исходных кодов. Перейдите сюда, чтобы просто скачать и попробовать DeskChan. Запускаемые файлы для всех платформ лежат в папке bin.

Скачиваем zip-архив с исходным кодом, изнутри терминала переходим туда.

При проблеме сборки внизу статьи есть раздел "Возможные ошибки"

Сборка под Windows

Для сборки приложения в ОС Windows необходимо иметь установленный Java 8 JDK для Java 8 (скачать) или Java 9 JDK для Java 9 соответственно (скачать).

С помощью кнопки "Download ZIP" скачиваем архив с кодом. Открываем командную строку, переходим с помощью команды "cd %folder%", где %folder% - папка распакованных из архива файлов.

Компиляция и запуск без сборки исполняемых файлов:

gradlew.bat run

Компиляция и сборка исполняемых файлов:

gradlew.bat createExe

Компиляция и сборка полного дистирбутива с архивом:

gradlew.bat createExeDistZip

Готовые бинарники будут лежать в /build/distributions (для Windows - это файлы .bat и .exe внутри .zip архива) Приложение рекомендуется запускать через .exe-файл. Если во время работы возникают ошибки, запустите приложение через .bat-файл, чтобы увидеть консоль.

Сборка под GNU/Linux

Для сборки приложения в ОС Linux необходимо иметь установленными Java-1.8 JDK с встроенной или отдельной JavaFX, launch4j для сборки бинарников и любой пакет system tray (например, libappindicator и libappindicator1 для Debian-систем).

Например, для Arch Linux

$ pacman -S jdk8-openjdk java-openjfx stalonetray libappindicator
$ yaourt -S launch4j

Можно также скачать проприетарный JDK с сайта Oracle.

Если у вас нет поддержки трея - создайте файл "/data/gui_javafx/config.properties", впишите там

use-tray=false

Компиляция и запуск без сборки исполняемых файлов:

$ ./gradlew run

ВНИМАНИЕ: обратите внимание на версию Gradle, используемую DeskChan. Использование Gradle других версий, в том числе выше 4.0, может привести к некорректной работе программы. Поэтому не используйте "gradle run", но команду выше, которая автоматически загрузит и установит необходимую версию Gradle.

Компиляция и сборка исполняемых файлов:

$ ./gradlew createExe

Компиляция и сборка полного дистирбутива с архивом:

$ ./gradlew createExeDistZip

После выполнения команды вы получите архив со всеми необходимыми для работы файлами в каталоге build/distributions. Содержимое архивов полностью самодостаточно (за исключением необходимости в установленной Java) и не требует никаких других файлов из этого репозитория.

Запускать jar-файл из каталога libs напрямую не рекомендуется, потому что скрипт запуска помимо прочего задаёт правильные значения CLASSPATH. Без этого приложение не сможет найти дополнительные библиотеки, которые ему нужны и не сможет корректно запуститься.

Приложение рекомендуется запускать через $ sh DeskChan.

Сборка под Mac OS

Программа работает так же и на Mac OS. Возможны подёргивания и другие неисправимые артефакты в работе gui, которые связаны с особенностями работы javafx на MacOS. Инструкции запуска идентичны инструкциям для пользователей OS Linux.

Параметры запуска

На данный момент в DeskChan отсутствует возможность указывать параметры запуска через консоль. Но это можно сделать, создав конфигурационный файл "/data/core/config.properties". Программа поддерживает следующие параметры:

quitDelay=2000  # Задержка перед закрытием программы
locale=en  # Язык программы
terminal=false  # Режим работы через консоль
start.run_first=0  # Запущена ли программа впервые
garbage-collection-delay=20000  # Частота вызова сборщика мусора, в мс. Поставьте -1, чтобы отключить

Возможные ошибки

  • Проверьте, чтобы ваша версия DeskChan собрана на соответствующем JDK (мы распространяем собранную на 8-м).
  • Проверьте, что в пути папки, в которой вы собираете DeskChan, нет недопустимых символов, включая кириллицу.
  • Иногда билд для распространения в архиве не собирается полностью. Например, не включается папка assets в полном составе. Понять это можно по ошибкам типа "No such file or directory", которые появляются сразу на старте программы. Попробуйте перед createExeDistZip провести build и снова собрать архив.
  • Иногда появляются неизвестные ошибки типа "Cannot initialize class" или что-то такое. Попробуйте перезапустить программу, такое бывает только иногда.
  • В master необязательно может лежать стабильная версия, может главный программист опять что-то начудил и сразу влил в общак. Зайдите в телеграм и надавайте ему по голове.
Clone this wiki locally