Как портировать приложение с windows на android

Обновлено: 03.07.2024

Если вы ещё не в курсе, Wine — это бесплатный open source слой совместимости с Windows API, позволяющий запускать программы этой платформы на Unix-подобных системах. Wine находится в разработке с 1993 года и позволяет запускать множество Windows-программ на Linux и macOS, хотя иногда требуются танцы с бубном.

Что там с Android

CodeWeavers работает над портированием Wine на Android на протяжении последних нескольких лет, и первый альфа-релиз вышел в августе 2016. Несмотря на то, что компания выпускает коммерческий продукт, она вносит большой вклад в развитие Wine. Недавно вышел Wine 3.0, который вы можете установить как приложение на Android. Вам будет доступно полноэкранное окно Windows, почти как в первых сборках CrossOver для Android, с меню «Пуск» в нижнем левом углу. Имеется поддержка аудио и простой графики.

Вот небольшой видео обзор:

Так как Wine для Android только вышел, у него есть ряд ограничений. Автору англоязычной статьи, которая использована в качестве источника для этого перевода, удалось полноценно запустить приложение на OnePlus 5T; на Galaxy Tab S и Pixel 2016 наблюдались фризы и краши. Масштабирование DPI (dots per inch, точек на дюйм) тоже корявое, так что пользоваться Wine на тачскрине довольно проблематично. Графический драйвер на данный момент не поддерживает Direct 3D, поэтому много программ (особенно игр) не будут работать до тех пор, пока вы с помощью настроек не заставите их использовать OpenGL.

Как начать использовать

Wine — слой совместимости, а не полноценный эмулятор, поэтому вам понадобится x86 Android-устройство, чтобы выжать из него максимум. Wine поддерживает ARM устройства, но вы сможете использовать только те программы, которые были портированы на Windows RT. На форуме XDA можно найти несколько примеров. Также ведётся работа над использованием QEMU для эмуляции инструкций x86-процессора на ARM.

Если вы хотите попробовать Wine на своём Android-устройстве (или Chromebook, если у вас разрешён режим разработчика), вы можете скачать последние сборки на сайте Wine. Убедитесь, что скачиваете стабильные версии («wine-3.0-arm» или «wine-3.0-x86»), а не релиз-кандидатов (*rc*.apk).

Запускаем Windows-приложения на Android через CrossOver

Разработчики из студии CodeWeavers выпустили инструмент CrossOver, который сближает операционные системы и Windows. Теперь на компьютерах, планшетах и даже смартфонах с процессорами x86 по управлением ОС от Google можно запускать классические приложения Windows. Мы протестировали эту утилиту и составили свое небольшое мнение о ней в этой статье.

Содержание

Примечание: утилита CrossOver работает на устройствах под управлением Android и Chrome OS, которые обладают процессорами с архитектурой x86 — это чипы Intel или AMD. Поэтому на большинстве аппаратов с ARM-чипсетами запустить приложения от Windows не получится. Автор статьи тестировал CrossOver на ноутбуке ASUS с процессором AMD и операционной системой Remix OS последней версии.

Что такое CrossOver для Android

Разработчики из CodeWeavers известны тем, что они выпустили утилиты CrossOver для Linux и macOS для запуска на этих ОС приложений от Windows. Утилита CrossOver основана на ПО с открытым исходным кодом под названием Wine. По сути своей CrossOver и Wine — это инструмент для виртуализации, который создает эмулируемую среду Windows для запуска соответствующих приложений.

Запускаем Windows-приложения на Android через CrossOver

Эмуляция возможна только на процессорах x86. Чипсеты с архитектурой ARM не поддерживаются, так как код программ Windows не может выполняться на них, а простого конвертера до сих пор нет. Грубо говоря, CrossOver работает только на компьютерах с Chrome OS, а также на планшетах с Android, где в качестве процессора выступает Intel Atom, например — ASUS ZenFone.

Как установить CrossOver для Android

На данный момент утилита CrossOver проходит бета-тестирование в Google Play. Там вы можете записаться на тест программы, либо можно скачать установочный APK-файл утилиты напрямую с Трешбокса и установить на своем гаджете (определенные антивирусами угрозы — просто особенность приложения, связанная с эмуляцией).

Установка и работа с приложениями

Запустив установленное приложение CrossOver, перед нами предстает что-то вроде виртуального рабочего стола Windows со своим меню «Пуск». На этом рабочем столе появятся все иконки установленных вами Windows-приложений. Программа лучше работает в полноэкранном режиме, но это касается только Remix OS и Chrome OS. Самый простой способ установить программу с Windows — воспользоваться внутренним установщиком. Разработчики решили упростить этот процесс, добавив собственный установщик. Нажимаем на надпись “Install Application” в верхнем правом углу. Откроется окно с текстовым полем, выпадающим списком и кнопкой “Install”.

Запускаем Windows-приложения на Android через CrossOver

Сразу же CrossOver предлагает установить Steam — каталог игр. Можно просто нажать кнопку “Install” и установка начнется. В выпадающем списке предлагаются другие приложения или игры от Windows, которые точно работают на Android. Если снять галочку с пункта “Only applications”, то в выпадающем списке будет огромное количество игр и приложений от Windows, которые устанавливаются одним кликом. Но будут ли они работать — не гарантируется.

В текстовом поле можно искать приложения или игры по названию. Вот так выглядит Steam после установки на Android:

Запускаем Windows-приложения на Android через CrossOver

Большинство игр из Steam не будут работать из-за того, что CrossOver поддерживает только DirectX 9, но разработчики утилиты обещают добавить поддержку версий 10 и 11. Некоторые люди, например, смогли запустить Half-Life и классический Team Fortress, но для этого пришлось отключить полноэкранный режим и активировать программный рендеринг вместо OpenGL:

Конечно, играть в таком эмуляторе практически невозможно из-за низкого FPS и некорректной работы мыши. Контроллер вряд ли будет работать нормально. Но факт того, что игры запускаются уже говорит о чем-то.

Также вы можете установить браузер от Windows для интернет-серфинга в таком эмуляторе. Например, Firefox 45 устанавливается и работает без проблем. Даже расширения функционируют.

Запускаем Windows-приложения на Android через CrossOver

Есть возможность установить полноценный офисный пакет. Например — OpenOffice, LibreOffice или Microsoft Office 2007 / 2010.

Запускаем Windows-приложения на Android через CrossOver
Запускаем Windows-приложения на Android через CrossOver

Более того, желающие могут установить Adobe Photoshop. К сожалению, на моем устройстве многие приложения и игры выдавали ошибки, но автору похожей статьи с Android Police удалось запустить «тяжелый» пакет работы с графикой от Adobe.

Итоги

На текущем этапе разработки CrossOver для Android и Chrome OS — это очень нестабильная и во многом неудобная утилита, которая хоть и может запускать многие Windows-приложения, но все же делает это плохо. На планшетах и смартфонах работать с такой эмуляцией практически невозможно, но для ноутбуков на базе Chrome OS или Remix OS — это отличная возможность использовать приложения от Windows.

Запускаем Windows-приложения на Android через CrossOver

В будущем CrossOver может стать лучше в плане возможностей и совместимости. Так как Google сама собирается адаптировать Android для гибридных планшетов и компьютеров (десктопный режим Android 7.0), то можно сказать, что CrossOver ждет большое будущее. Главное — реализация. Будем надеяться, что разработчики из CodeWeavers доделают свою утилиту до хорошего состояния.

Создание игры процесс захватывающий и познавательный. Особенно это заметно, когда ремейк «классики» делаешь сам, руководствуясь идеями оригинала и десятками часов, потраченных на прохождение кампании. У меня не было сколь-нибудь значимого опыта разработки для Android'a, поэтому создание работающего «как надо» приложения для планшета поначалу выглядело довольно туманно, но от этого не менее притягательно. При наличии времени и возможностей, можно стряхнуть пыль со старых игр, подмазать и подклеить, добавив поддержку «больших» разрешений и окажется, что они выглядят не хуже современных продуктов, выложенных на маркете, даже с палитрой RGB565 без альфа-канала. Я предполагал, что будут подводные камни и заботливо спрятанные грабли, которые лежат тихонько во время разработки, но больно лупят по голове, стоит запустить игру на реальном железе. Чего сильно не хватало, так это отладчика, а возникающие проблемы лишь укрепили желание достичь поставленной цели. Под катом будет рассказ о том, как это все заработало.

image



Стоит сразу предупредить, что это возможно будет рассказ о велосипедах, я не придумал ничего такого, что не гуглится на просторах «интернетов». Также Читатель вряд ли увидит новые решения или мега технологии, но найдет опробованные инструкции по сборке приложения, использующего SDL1/2, для Android.

Здравствуйте!
Ремейк игры Caesar III© начинался совсем не как отдельный проект, а скорее набор фиксов для количества жителей, поддержки «больших» разрешений и исследования декомпилированного кода оригинальной игры в поисках пасхалок и недокументированных режимов работы. А когда количество восстановленного кода перевалило за половину от общего, стало понятно, что можно попытаться восстановить игру. В качестве библиотеки отрисовки была выбрана SDL1.2, которая хорошо зарекомендовала себя в других проектах, а ещё проста в освоении и использовании. Ремейк поначалу был Linux-only, в начале этого года перебрался на другие платформы (Mac, Windows и Haiku), а потом у меня завелся вот такой планшет, а голове периодически возникали мысли «работает на одном линуксе, должно работать и на другом».

Попытка номер раз, удачная
У SDL версии 1.2 «из коробки» нет возможности работы под андроидом, зато есть замечательный проект libsdl-android, который позволяет, используя свое окружение и скрипты собирать код, использующий эту библиотеку в приложении для андроида. Собранное приложение может загрузить ресурсы как из интернета, так и распаковать из установщика. Сам libsdl-android содержит большое количество библиотек, которые могут вам понадобиться, начиная от bzip2 и разных кодеков, до самой SDL и его окружения SDL_image, SDL_mixer, ttf и другие. Если у игры нет платформозависимого кода, то портирование занимает несколько шагов:

;
unzip -o -qq $$ARCHIVE;
echo «Configure paths. »;
echo «export ANDROID_SDK=

/.bashrc;
echo «export ANDROID_NDK=

/.bashrc;
echo «export NDK_ROOT=\$$ANDROID_NDK» >>

/.bashrc;
echo «export PATH=\$$PATH:\$$ANDROID_NDK:\$$ANDROID_SDK/tools:\$$ANDROID_SDK/platform-tools» >>

2. копирование исходников приложения в папку проектов libsdl-android 3. создание файла конфигурации для сборки игры через libsdl-andlroid 4. настройка пути для компиляции нужного приложения
$rm project/jni/application/src
$ln -s caeasaria project/jni/application/src

$./changeAppSettings.sh -a
$android update project -p project
$./build.sh
6. подписывание и установка приложения на андроид

Если все удачно скомпилилось, то в папке commandergenius/project/bin появится файла MainActivity-[release|debug]-unsigned.apk, который нужно подписать и установить на устройство.

$ keytool -genkey -v -keystore rs.keystore -alias caesaria -keyalg RSA -keysize 2048 -validity 10000
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore rs.keystore

/projects/commandergenius/project/bin/MainActivity-release-unsigned.apk caesaria
$ mv

/projects/caesaria.apk
$ adb uninstall net.dalerank.caesaria
$ adb install

Подводные камни
0. Определение окружения: для начала надо определиться в каком окружении будет работать Windows, Linux или Linux Android.
Решение: Проверяем наличие дефайнов ANDROID/__ANDROID__.

2. Использование OpenGL: если кому понадобится OpenGL, то на мобильных плафтормах обитает его близкий родственник GLES.
Решение: подключаем вместо стандартных заголовояных файлов <GLES/gl.h> и <GLES/glext.h>, есть небольшие отличия в использовани текстур и отрисовке, но в основном код(простой код, который я использовал) работает практически без изменений.

3. Обработка событий: пропадает событие SDL_MOUSEBUTTONUP при движении пальцем по экрану, это могла быть недоработка в самой библиотеке libsdl-android или я где-то его терял. Проявлялось иногда в отсутствии реакции элементов интерфейса на действия пользоватся, например после движения остановились на кнопкой, которая по идее должна перейти в состояние если над ней находится курсор мыши.
Решение: Специфично для моего приложения — при сборке под андроид было добавлено принудительное обновление состояния элементов под курсором при движении последнего.

4. Мелкий интерфейс: разрешение экрана современных мобильных устройств сопоставимо или превышает разрешение монитора, используемого 10-15 лет назад, но физические размеры заметно меньше, оттого и сам элементы пользовательского интерфейса выглядят мелко и пользоваться ими будет не всегда удобно.
Решение: Переделка интерфейса, что достаточно хлопотное занятие и не всегда удается сохранить первоначальный вид.

Один переезд равен двум пожарам(народная мудрость)
Все началось с того, что один из коммитеров прислал ссылку на ветку разработки, где успешно запустил игру с использованием относительно свежей библиотеки SDL2, а до этого использовалась версия SDL1.2 — 2008 года выпуска. Надо сказать, что я и сам рассматривал возможность перехода на новую версию, особенно после просмотра списка изменений, который сулил нормальную поддержку Mac и Android, что называется «из коробки». А тут еще и миниотпуск на работе получился, взяв кувалду побольше гайд потолще и большую чашку кофе, я начал переводить ремейк на новый «движок».
Не хочу утомлять читателя техническими подбробностями переезда, просто у самой библиотеки с приходом аппаратной поддержки изменилась идеология работы, что поначалу доставляло определенные трудности, пока я к ней не привык. Переезд растянулся на неделю вечеров и под конец представлял собой исправление оставшихся недочетов и графических артефактов. Переделки были закончены и подготовлены сборки для «больших» ОС, и опять появилась необходимость повторного чтения мануалов по сборке приложения под Андроид, потому как libsdl-android нормально адаптирован для работы с SDL1.2, а поддержка SDL2 похоже заброшена (о чем сами авторы и пишут в ридми)

Осознал я правдивость этого текста, когда было потрачено несколько часов в попытке запустить порт в старой конфигурации через libsdl-android. Ну что ж, отрицательный опыт — тоже опыт: буду использовать доступные инструмены.

Попытка номер два, не совсем удачная
SDL2 уже содержит все необходимые конфиги для сборки приложения под андроид, почитав статью, рекомендованную на официальном сайте, можно пробовать собрать чтонибудь. Опять же будут несколько шагов, за исключением установки и настройки adt.

Для чего все эти копирования сделаны. чтобы проще было считать относительные пути для библиотек. В папке android/libs будет лежать SDL и компания, в папке android/data — будет иконка приложения.

В папке android/android-project/jni создаем символьные ссылки на компоненты приложения

$ln -s ../../libs/SDL SDL
$ln -s ../../libs/SDL_mixer SDL_mixer
$ln -s ../../libs/SDL_net SDL_net
$ln -s ../../src/dep/aes aes
$ln -s ../../src/source application
$ln -s ../../src/dep/bzip2 bzip2
$ln -s ../../src/dep/freetype freetype
$ln -s ../../src/dep/libpng libpng
$ln -s ../../src/dep/lzma lzma
$ln -s ../../src/dep/smk smk
$ln -s ../../src/dep/src src
$ln -s ../../src/dep/ttf ttf
$ln -s ../../src/dep/zlib zlib

Немного о том, что же я тут написал:
zlib нужен для сборки freetype, который в свою очередь нужен для SDL_ttf и будет отвечать за рендеринг шрифтов.
Библиотека smk нужна для воспроизведения видео в формате smack, в этом формате выполнены ролики оригинальной игры.
Bzip, lzma и aes нужны для работы с zip-архивами.
libpng требуется для загрузки текстур для игры.
SDL, SDL_mixer, SDL_net отвечают соответсвенно за рисования, работы со звуком и сетью.
application содержит исходники самой игры, которые будут собраны в библиотеку libapplication.so
в папке src располагаются исходники библиотеки libmain.so, а вот для неё уже написано кружево java-вызовов над с-кодом, которое позволит нам успешно стартовать и порадовать пользователя яркой картинкой.
Настройки проекта и конфиги для ndk уже любезно предоставлены авторами SDL2

2. написание конфигов для сборки компонентов игры

Чтобы система сборки увидела, какие нам необходимы библиотеки для работы и собрала их, нужно написать для них конфиги, наподобие Makеfile. С большой вероятностью Android.mk уже будет присутствовать в репозитории библиотеки, или их можно найти на просторах интернета. Мне пришлось дописать конфиги сборки для для игры и библиотеки libsmk.

LOCAL_MODULE := smk
LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,, \
$(wildcard $(LOCAL_PATH)/*.c))

Конфиг содержит указание скомпилировать все файлы с расширением .с, найденные в текущей папке (для libsmk это будет jni/smk)

Аналогично пишется и конфиг для сборки библиотеки, которая будет представлять саму игру.

SDL_PATH := ../../libs/SDL
SDL_MIXER_PATH := ../../libs/SDL_mixer
SDL_NET_PATH := ../../libs/SDL_net
GAME_PATH := $(LOCAL_PATH)
DEP_PATH := ../dep

LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/$(SDL_PATH)/include \
$(LOCAL_PATH)/$(SDL_MIXER_PATH) \
$(LOCAL_PATH)/$(SDL_NET_PATH)/include \
$(LOCAL_PATH)/$(FREETYPE_PATH)/include \
$(LOCAL_PATH)/$(GAME_PATH) \
$(LOCAL_PATH)/$(DEP_PATH) \
$(LOCAL_PATH)/$(DEP_PATH)/libpng

LOCAL_SHARED_LIBRARIES := SDL2 SDL2_mixer SDL2_net sdl_ttf pnggo lzma bzip2 aes smk
LOCAL_CPP_FEATURES += exceptions
LOCAL_CPP_FEATURES += rtti
LOCAL_LDLIBS := -lGLESv1_CM -llog

Тоже должно быть понятно, в LOCAL_C_INCLUDES добавляет пути где нужно искать заголовочные файлы, в LOCAL_SRC_FILES добавляем файлы с исходным кодом,
в LOCAL_SHARED_LIBRARIES прописываем зависимости приложения.

флаги rtti, exceptions отвечают за использование RTTI и исключений.

$cd android-project
$android update project -p. -t android-15
$ndk-build V=1
$ant [release|debug]
$ant install[r|d]


Теоретически, после выполнения описанных шагов на подключенном девайсе или эмуляторе вы увидите установленное приложение.

Грабли
1. Где искать ресурсы.
Место размещения ресурсов зависит от конкретной реализации ОС, но в большинстве случаев приложению будет доступна папка /sdcard/Android/data/имя_пакета/files, при использовании непосредственно пути может быть ошибка доступа или ошибка поиска файла.
Получить полный путь к директории приложения можно через функцию SDL_AndroidGetExternalStoragePath(), определенную в файле SDL_system.h
2. Использование флагов создания окна.
Комбинация SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_BORDERLESS работает не на всех девайсах, убираем SDL_WINDOW_OPENGL или SDL_WINDOW_BORDERLESS и смотрим какой из флагов крашит программу. Не могу объяснить с чем связано такое поведение. С флагом SDL_WINDOW_SHOWN запукается по логам один в один, как и со всеми флагами, но при этом вероятность вылета намного меньше.
3. Слишком много звуковых каналов.
Наблюдаются вылеты при вызове функции SDL_mixer::Mix_AllocateChannels(N>16) c ошибкой, что невозможно иниализировать звук. Обходится снижением запрошенного числа каналов, насколько корректно решать эту проблему таким способом я не знаю.
4. stlport vs gnustl
Вылет при использовании stlport, нарвался на этот баг при обходе вектора с использованием итераторов на эмуляторе Nexus 7 (Android 4.0.3). Опять же не могу объяснить факт сей ошибки, решилось использованием gnustl при сборке приложения.
5. Мое кунгфу сильнее твоего.
Использование библиотеки с именем, похожим на имя той, что уже есть в системе приводит к загрузке чужой библиотеки, в которой возможно нет необходимых функций. Ошибка появилась из-за того, что я собираю свою версию libpng.so, решение было найдено на stackoverflow, исправилось заменой имени библиотеки libpng.so на libpnggo.so

В заключении.
Работает! Почти не отличается от ББ! Доволен ли я? Не очень!

Дело в том, что толи я криворукий, толи лыжи не едут, но на планшете приложение получилось крайне медленным (10-12 fps для крайне простой картинки результат унылый), думаю, вина тут в руках и незнании матчасти. SDL — отличная библиотека в обеих реинкарнациях, и много действительно хороших игр использует её, а также портировано на андроид.

Потраченного времени на создание порта не жаль точно, получен определенный опыт и много положительных эмоций, когда игра взлетела. Тем, кто ещё раздумывает пробовать или нет, однозначно пробовать, не откладывайте на потом!

Система Андроид обладает ограниченными возможностями, поэтому может появиться необходимость запуска полноценной версии Виндовс как отдельного приложения. Это задача, которая вполне может быть реализована, благодаря современным Андроид-устройствам, многие из которых не уступают стационарным ПК в плане мощности. Существует несколько эмуляторов такого рода, чья работа зависит напрямую от требований к ПО.

Что такое эмуляторы Windows, для чего они нужны и когда могут быть полезны

Эмуляторы — программы, которые имитируют ту или иную системную среду на другой платформе. Например, вы на своем ПК хотите запустить какое-нибудь приложение от Майкрософта. К вашим услугам — эмуляторы Виндовс для Mac. То же действие можно выполнить в обратную сторону. Но самый популярный сегмент для такого софта — это ОС Андроид, где можно найти много вариантов для проведения подобных операций.

Программа-эмулятор Андроид нужна разработчикам ПО, которые тестируют новые приложения для мобильных телефонов, а также любителям игр, которым не хватает мощности и больших экранов гаджетов.

Профессионалы с помощью эмулятора тестируют новую программу Андроид без риска нанесения вреда мобильному телефону.

Геймеры постоянно недовольны производительностью и размером экранов гаджетов, которые не успевают за ростом системных требований новых игр. И наконец, эмулятор необходим простым пользователям с привычными и необходимыми приложениями даже при работе на ПК.

Как видно, хороший эмулятор всем придется по душе. Но индивидуального предложения быть не может, поэтому продукты появляются для каждой категории пользователей.

Обычно поклонники Андроида устанавливают эмуляторы на стационарный ПК. Их аппаратные средства не удовлетворяют системным требованиям. Это поняли разработчики софта и предлагают рынку большое количество оптимальных решений, в том числе и эмуляторы Андроид для слабой видеокарты, разработчиков и игроков.

Bochs

Boshs — приложение с открытым исходным кодом от сторонних разработчиков. Оно дает пользователю возможность эмулировать и запускать Виндовс на устройствах под управлением Андроид. Приложение эмулирует на устройстве под Андроид: процессор стационарного ПК, диск, память, систему ввода и вывода. Таким образом, дает операционной системе Виндовс возможность успешно загрузиться и работать.

Данная утилита может потребоваться в разных ситуациях: к примеру пользователю нужно воспользоваться программой, но она функционирует только под управлением Виндовс, а ПК рядом нет. Нужно сказать, что офисные приложения поражают своей производительностью.

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

После загрузки образ системы нужно разархивировать на sdkard, чтобы эмулятор смог его подхватить. Сам интерфейс достаточно простой и понятный.

Boshs можно установить на Андроид-устройствах без изменения используемой ОС. Если вы хотите эмулировать ОС Виндовс на устройстве под управлением Андроид, то нужно иметь файл-образ Виндовс, который можно запустить при помощи Boshs.

Управление в эмуляторе осуществляется через виртуальную клавиатуру, которая расположена в левом верхнем углу.

QEMU — бесплатное приложение с открытым исходным кодом для эмуляции работы ОС на ПК. Программа работает в Виндовс, Linux и даже на Андроид. Ресурсы хоста, такие как память, процессор, жесткий диск делятся между виртуальными машинами.

Приложение использует аппаратную виртуализацию, поэтому может быстро осуществлять операционные системы.

QEMU способен функционировать в двух режимах работы:

  • Полная эмуляция — здесь программа полностью эмулирует устройство, включает все его системы и периферийные устройства. Он применяется для запуска нескольких ОС без перезагрузки.
  • Эмуляция пользовательского режима — функционирует только для Linux хоста. Полезен для разработки кросс-компиляции и отладки.

Limbo

Limbo — эмулятор стационарного ПК для мобильных устройств. Программа позволяет создавать виртуальные машины и настраивать под определенный образ операционные системы. Приложение для Андроид поддерживает управление при помощи проводных или беспроводных мыши и клавиатуры, если такая опция есть в операционной системе.

Программа обладает следующими возможностями:

  • Создает, удаляет, редактирует виртуальные машины, импортирует и экспортирует.
  • Работает с файловой системой.
  • Показывает и сохраняет лог-файлы со всеми записями.
  • Настраивает пользовательский интерфейс, в который входят параметры дисплея, ориентация экрана, мышки и клавиатуры.
  • Выбирает характеристики платформы и виртуального процесса. Сюда входят количество ядер, архитектура и тип.
  • Наименование жестких дисков, съемных приводов и их количество.
  • Настройка параметров звуковой и сетевой платы.

Операционные системы Debian Linux, Trinux, Windows 95 через Limbo эмулируются на Андроид. Мощность современных мобильных телефонов позволяет воспроизвести работу старых оперативных систем без ошибок и зависаний.

Положительные стороны программы:

  • Подходит для запуска старых игр;
  • Функционирует без ограничений по времени.
  • Имеет много бесплатных дополнительных настроек.
  • Интерфейс не на русском языке.
  • Образ операционной системы необходимо скачивать отдельно.

Многие системы запускаются через ISO, поэтому при создании машины нужно активировать опцию CDROM-open и указать путь до местоположения файла на Андроид.

DosBox

Современные компьютеры и ноутбуки не всегда совместимы со старыми играми. Программы, которые написаны когда-то давно, не соответствуют требованиям современных операционных систем.

Чтобы старые игры запускались быстро как новые и был сделан эмулятор Досбокс. Современные устройства на базе Андроид отличаются большой производительностью, поэтому утилита позволяет запускать игру прямо на телефоне.

Для нормальной работы приложения требуется доступ к SD-накопителю и 50 Мб памяти. Программа читает карту памяти как диск С, поэтому Dos-игру нужно устанавливать на него.

Положительный момент состоит в том, что программа позволяет использовать многие возможности ОС DOS на своей платформе: функционировать с программами, файлами, запускать приложения.

К недостаткам программы относится то, что для применения утилиты нужны хотя бы небольшие познания в ОС DOS.

Играть во многие DOS-игры сегодня сложно, и здесь дело не только в старой графике. Современным пользователям сложно разобраться в играх и ее методах. Поэтому программа будет актуальной для тех, кто хочет окунуться в ностальгию и интересуется ретро-играми. Но даже если пользователь не знаком с программами поколения Dos, наверное ему станет интересно, насколько большой прорыв был совершен в играх за последние 30 лет.

Этот эмулятор для Андроид поможет оценить эту разницу: от простой графики до сложных деталей с качественным уровнем графики.

ExaGear

Данное приложенгие выделяется на фоне остальных, так как оно — классический эмулятор операционной системы Виндовс. При этом его основное предназначение сводится к запуску приложений, созданных для ПК.

Программное обеспечение способно самостоятельно эмулировать работу необходимых компонентов, запускать различные виды игр и некоторые другие программы.

У данного приложения есть несколько вариантов, которые созданы для запуска Виндовс-приложений определенного вида. К их числу можно отнести:

  • Strategies;
  • RPG;
  • Windows Emulator.

По части преимуществ и недостатков во всех случаях программа работает стабильнее ранее рассмотренных эмуляторов, но только если Андроид-устройство обладает большой мощностью. В противном случае, приложение способно установиться и запуститься без проблем, но игры эмулировать не сможет, завершая работу ошибкой на главном экране.

Еще одно преимущество эмулятора состоит в том, что он интегрирует некоторые поддерживаемые игры, которые размещены в отдельном разделе. Это позволит эмулировать Виндовс-приложения и без проблем загрузить все нужные файлы.

Возможные трудности

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

  • отключенной виртуализации: она негативно влияет на работу эмуляторов; включить или выключить ее можно в настройках BIOS;
  • низких характеристиках у компьютера или ноутбука: подавляющая часть эмуляторов требовательна к ресурсам ЦП и оперативно-запоминающего устройства; сегодня для хорошей работы BlueStacks требуется не меньше 8 Гб ОЗУ;
  • проблемах с видеодрайвером: зачастую проблема состоит в том, что драйвер не обновлен; в итоге часто наблюдаются ошибки и подвисание в эмуляторах и играх;
  • некорректных настройках эмулятора: в некоторых случаях проблему с тормозами эмулятора можно легко устранить при помощи его же настроек;
  • блокировке антивирусом: несколько их функций могут блокировать нормальную работу эмуляторов, к примеру антивирус Аваст ограничивает виртуализацию.

Почти всегда для нормального функционирования эмуляторов нужны файлы операционной системы Виндовс в определенном формате. Найти необходимые дистрибутивы можно на специальных форумах. Применять качественные образы и внимательно работать с приложениями — только в этом случае можно будет с легкостью эмулировать почти все версии Виндовс, несмотря на некоторые недостатки.



Поскольку Wine все еще находится в стадии разработки, его интерфейс недостаточно адаптирован для работы на устройствах с сенсорными экранами. Поэтому для достижения наилучших результатов при взаимодействии с эмулятором рекомендуется использовать клавиатуру и мышь.

Кроме того, по неизвестным причинам Wine может быть запущен далеко не на всех устройствах. Как удалось выяснить опытным путем, эмулятор вполне сносно работает на OnePlus 5T, но отказывается функционировать на планшете Galaxy Tab S и смартфоне Google Pixel первого поколения.

Свободное общение и обсуждение материалов

оплата проезда

Чем мне нравится работа сервисов бесконтактной оплаты за границей и не нравится в России, так это неодинаковым отношениям к клиентам. Если в США или, скажем, в Европе пользователям Apple Pay или Google Pay регулярно предоставляются различные скидки или повышенный кэшбек при покупке в магазинах-партнёрах, то в России с этим большая напряжёнка. Кажется, последний раз Google устраивала что-то подобное года полтора назад, когда можно было совершить 10 поездок в Яндекс.Такси за 1 рубль при оплате Google Pay. Но платёжная система МИР решила нарушить молчание.


Почти все пользователи Google Docs согласятся, что это очень удобный сервис, который предлагает массу возможностей, особенно, учитывая, что он бесплатный. Но это не отменяет того факта, что в него однозначно есть, что добавить. Например, добавление водяных знаков в документ занимает много времени. Согласен, что не всем это нужно, водяные знаки это только одна из функций, которые компания добавляет с обновлениями. Сейчас вышло еще одно и оно сделано так, чтобы этот текстовый редактор стал более производительным и функциональным.


Читайте также: