|
Программа экранного доступа Spiel для операционной системы Android является проектом с открытым исходным кодом, поэтому любой желающий может самостоятельно видоизменять и компилировать её исходники, при условии соблюдения положений лицензии Apache 2.0. К сожалению, документированность проекта оставляет желать лучшего, а отдельные материалы официальной wiki зачастую вообще не соответствуют текущему состоянию дел, в том числе и в той части, где описывается процесс сборки кода. В данном материале будет описан процесс компиляции дистрибутива Spiel из исходных кодов в корректном изложении на момент написания статьи (февраль 2012, Spiel 1.2.0 source). Следует учитывать, что со временем алгоритм может претерпеть определённые изменения, главным образом, в отношении необходимых версий используемых инструментов. При этом уточнить их можно будет в служебной информации файлов проекта. В целом весь процесс условно можно разделить на четыре этапа:
Установка и настройка среды разработкиДанный процесс описан в статье Разработка под платформу Android: установка и настройка среды, поэтому для получения подробных рекомендаций следует обратиться к этому материалу. Следует отметить лишь тот факт, что на момент написания, Spiel требует наличия API Android 2.2, а использующаяся версия ProGuard не поддерживает формат файлов компилятора Java из последних версий JDK, поэтому рекомендуем устанавливать JDK 6u30. Кроме того, для корректного вызова файла javac.exe из других программ следует внести директорию его размещения в переменную путей Path, например для Windows: C:\Program Files\Java\jdk1.6.0_30\bin Дополнительная настройкаВ качестве языка разработки в Spiel используется Scala. Поэтому для работы с её исходным кодом требуется установить соответствующие дополнительные компоненты. В проекте Spiel эту задачу выполняет система сборки SBT в виде Java-загрузчика sbt-launch. На момент написания статьи, для сборки кода Spiel следует использовать sbt-launch версии 11.1, который использует sbt-android-plugin 0.6.0. Процедуру установки sbt-launch для конкретной операционной системы можно уточнить на странице руководства по установке и началу работы с системой сборки SBT. Например, для Windows файл sbt-launch.jar следует поместить в директорию, прописанную в переменной путей Path, и там же создать пакетный файл "sbt.bat" со следующим содержанием: set ANDROID_SDK_HOME=C:\droid\android-sdk set PATH=C:\droid\android-sdk;%PATH% set SCRIPT_DIR=%~dp0 java -Xmx512M -jar "%SCRIPT_DIR%sbt-launch.jar" %* Вместо "C:\droid\android-sdk" в переменной окружения PATH и в качестве значения ANDROID_SDK_HOME следует указать путь до директории, куда установлен Android SDK. Загрузка исходных кодов SpielДля разработки Spiel используется система контроля версий Fossil. После загрузки версии под интересующую операционную систему следует поместить исполняемый файл в каталог, прописанный в переменной путей Path. Чтобы загрузить исходный код из репозитория Spiel, в рабочем каталоге следует выполнить команду (подразумевается, что пользователь работает в консольном окне командного интерпретатора) fossil clone http://spielproject.info spiel.fossil При этом в текущую директорию будет загружен файл spiel.fossil, представляющий собой запакованный пакет данных. Для его распаковки следует выполнить команду fossil open spiel.fossil После этого в рабочей директории появятся исходные файлы проекта, с которыми уже можно работать. Компиляция программыЕсли на предыдущих этапах все действия были выполнены корректно, то для сборки кода достаточно в директории с файлами Spiel выполнить команду sbt android:package-debug Для пересборки - sbt ~android:package-debug Если же к компьютеру подключено Android-устройство, то собранный дистрибутив можно сразу установить прямо на него. Для этого служит команда sbt android:install-device При этом если на устройстве уже установлена программа Spiel, то она будет автоматически обновлена. В рабочей директории скомпилированный файл появляется по пути "\target\spiel-xxx.apk", где "xxx" номер собранной версии. Прочие возможные проблемы и их решения
|
||||||||
Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения. Идея и реализация: © Владимир Довыденков и Анатолий Камынин, 2004-2024 |
Социальные сети