# Как запустить Metal Gear Solid 2 HD и другие порты NVIDIA SHIELD на Android: установка и настройка

> AI Release · @ai_release1 · https://ai-release.org/guides/kak-zapustit-metal-gear-solid-2-hd-i-drugie-porty-nvidi.html

## TL;DR

- Время выполнения: 40–60 минут (при уже скачанных APK и OBB)
- Уровень сложности: Intermediate
- Понадобится:
  - ТВ-приставка или ТВ-бокс на Android TV (порты из этой линейки выходили на NVIDIA SHIELD; совместимость конкретной игры с вашей моделью — сверьтесь с документацией разработчика)
  - ПК с Windows/macOS/Linux и установленным пакетом platform-tools (ADB)
  - USB-кабель к приставке или общая Wi-Fi-сеть с ПК
  - Геймпад (для MGS2 HD и подобных портов сенсорное управление не предусмотрено)
  - Легально полученные файлы игры: APK-установщик и архив данных OBB
  - 20 минут на проверку логов, если что-то пойдёт не так

## Требования и подготовка
![Иллюстрация к разделу «Требования и подготовка»](https://ai-release.org/guides/img/kak-zapustit-metal-gear-solid-2-hd-i-drugie-porty-nvidi-ru-1.jpg)


- **Android TV / Google TV приставка.** Порты NVIDIA SHIELD — это сборки под конкретное железо и телевизионный интерфейс. Минимальную версию Android для каждой игры сверьте с документацией разработчика на странице приложения.
- **ADB (Android Debug Bridge)** — утилита с ПК, которая ставит приложения и копирует файлы на устройство в обход экрана. Скачивается как часть Android SDK Platform-Tools с сайта разработчика Android.
- **Права администратора на ПК** для установки platform-tools и драйверов USB.
- **Включённая отладка по USB** на приставке (раздел «Для разработчиков»).
- **Свободное место на приставке** больше суммы размеров APK и OBB — узнайте размеры заранее командой `ls -lh` на ПК и добавьте запас под кэш.
- **Файлы игры** — только легально купленные/полученные. Ссылки на «взломанные» сборки в гайде не используются.

Чек-лист перед стартом:

- [ ] Приставка и ПК в одной сети (или есть USB-кабель)
- [ ] Включена отладка по USB
- [ ] Установлен platform-tools, `adb` отвечает в терминале
- [ ] APK и OBB скачаны, контрольные суммы совпадают с источником
- [ ] Геймпад заряжен и сопряжён

Если ПК под рукой нет, часть шагов (работа с файлами, распаковка архивов) выполняется прямо на устройстве через терминал — см. [Как запустить Linux на Android без root: Termux, PRoot и ИИ-инструменты](https://ai-release.org/guides/kak-zapustit-linux-na-android-bez-root-termux-proot-i-i.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide).

**Пример:** проверить, что `adb` установлен и виден в PATH:

```bash
adb version
```

Ожидаемый вывод — строка вида `Android Debug Bridge version 1.0.xx` с номером сборки. Если терминал отвечает `command not found`, добавьте папку platform-tools в PATH.

## Шаг 1. Подключить приставку и снять паспорт устройства

**Что сделать:** включить на приставке «Для разработчиков» → «Отладка по USB», подключить её к ПК по USB или по сети, затем выполнить `adb devices`.

**Зачем:** ADB — единственный штатный способ поставить APK и положить OBB туда, куда нужно. Заодно вы узнаёте модель, версию Android и архитектуру процессора (ABI) — от них зависит, какая сборка игры вообще запустится.

**Как проверить:** команда `adb devices` должна показать ваше устройство в статусе `device`, а не `unauthorized`.

```bash
adb devices
```

Ожидаемый вывод:

```
List of devices attached
192.168.1.42:5555	device
```

Для подключения по сети (без кабеля) сначала один раз соединитесь по USB и выполните `adb tcpip 5555`, затем `adb connect <IP-приставки>:5555`, где `<IP-приставки>` — адрес из «Настройки → Сеть → Состояние».

Теперь снимите параметры устройства:

| Команда | Что показывает | Пример вывода |
|---|---|---|
| `adb shell getprop ro.product.model` | модель приставки | `NVIDIA SHIELD Android TV` (у вас может быть иначе) |
| `adb shell getprop ro.build.version.release` | версия Android | число вида `11` |
| `adb shell getprop ro.product.cpu.abi` | архитектура процессора | `arm64-v8a` |

**Пример:** `adb shell getprop ro.product.cpu.abi` вернул `arm64-v8a` — значит вам нужна сборка игры под 64-битный ARM. Сборка под `armeabi-v7a` или `x86` на этом устройстве не запустится, и вы получите ошибку установки из раздела «Возможные проблемы».

Почему это работает: `getprop` читает системные свойства Android, которые прошивка заполняет при загрузке; они не меняются от установки приложений.

## Шаг 2. Установить APK и разместить файлы данных OBB
![Иллюстрация к разделу «Шаг 2. Установить APK и разместить файлы данных OBB»](https://ai-release.org/guides/img/kak-zapustit-metal-gear-solid-2-hd-i-drugie-porty-nvidi-ru-2.jpg)


**Что сделать:** установить APK командой `adb install`, затем скопировать файл данных игры (OBB) в каталог `/sdcard/Android/obb/<package-id>/`.

**Зачем:** крупные порты не встраивают ресурсы в APK — они лежат отдельным архивом OBB. Если архив не на месте или назван не так, как ждёт игра, приложение стартует и сразу падает либо показывает экран загрузки.

**Как проверить:** команда `pm list packages` находит пакет, `adb install` завершается словом `Success`, а `ls -l` в каталоге OBB показывает файл с ненулевым размером.

Сначала установите APK (имя файла подставьте своё):

```bash
adb install -r "MGS2HD.apk"
```

Ожидаемый вывод в конце:

```
Success
```

Затем узнайте точный идентификатор пакета — его требует каталог OBB:

```bash
adb shell pm list packages | grep -i -E "metal|gear|konami"
```

**Пример:** команда вернула строку `package:com.example.mgs2hd` — значит каталог данных будет `/sdcard/Android/obb/com.example.mgs2hd/`. Если grep ничего не нашёл, значит пакет не установился: вернитесь к выводу `adb install`.

Правило имени файла OBB:

```
/sdcard/Android/obb/<package-id>/main.<versionCode>.<package-id>.obb
```

`<versionCode>` — внутренний номер версии сборки из имени файла, который вы скачали (обычно первое число в имени архива). Не переименовывайте файл «на глаз»: имя должно совпадать с тем, что ждёт игра.

```bash
adb shell mkdir -p /sdcard/Android/obb/com.example.mgs2hd
adb push "main.1.com.example.mgs2hd.obb" /sdcard/Android/obb/com.example.mgs2hd/
adb shell ls -l /sdcard/Android/obb/com.example.mgs2hd/
```

Ожидаемый вывод последней команды — строка с именем файла и размером в байтах, например:

```
-rw-rw---- 1 u0_a10 sdcard 2147483648 2024-01-01 12:00 main.1.com.example.mgs2hd.obb
```

Если у вашей сборки есть ещё файл `patch.<versionCode>...obb`, он кладётся в тот же каталог тем же способом.

Альтернатива без ADB: если порт доступен в магазине приложений именно для вашей модели приставки, установка идёт обычным способом, а OBB магазин докачивает сам. Наличие игры в каталоге для вашего устройства — сверьтесь с документацией.

Почему это работает: Android ищет данные приложения по пути `Android/obb/<package-id>/`, где `<package-id>` жёстко привязан к APK. Совпадение пути и имени файла — единственное, что связывает установщик и архив ресурсов.

## Шаг 3. Запустить игру, проверить управление и логи
![Иллюстрация к разделу «Шаг 3. Запустить игру, проверить управление и логи»](https://ai-release.org/guides/img/kak-zapustit-metal-gear-solid-2-hd-i-drugie-porty-nvidi-ru-3.jpg)


**Что сделать:** подключить геймпад, запустить игру командой и параллельно снять лог, затем убедиться, что в логе нет фатальных исключений.

**Зачем:** порт может установиться и даже показать заставку, но упасть на инициализации графики или не увидеть геймпад. Лог `adb logcat` показывает это текстом, без догадок.

**Как проверить:** на экране телевизора появляется меню игры, а в терминале нет строк `FATAL EXCEPTION`.

Запуск по пакету (обходит ручной поиск иконки):

```bash
adb shell monkey -p com.example.mgs2hd -c android.intent.category.LAUNCHER 1
```

Параллельно, во втором окне терминала, снимите лог:

```bash
adb logcat | grep -i -E "fatal|exception|com.example.mgs2hd"
```

Ожидаемый результат: игра выходит в главное меню, в логе идут обычные информационные строки. Строка вида `FATAL EXCEPTION: main` означает падение — идите в раздел с проблемами.

Проверка геймпада: выполните `adb shell getevent -l` и нажмите кнопку на контроллере. В выводе появятся строки с `EV_KEY` и кодом кнопки — значит система видит устройство ввода. Выход из режима — `Ctrl+C`.

Разрешение, частоту обновления и качество графики выставляйте в меню самой игры; конкретные доступные значения зависят от прошивки и модели — сверьтесь с документацией.

## Возможные проблемы и решения

**Проблема. Установка APK обрывается на архитектуре**

- Ошибка: `Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]`
- Причина: APK содержит нативные библиотеки только под другую архитектуру, чем у приставки.
- Решение: сверьте ABI командой `adb shell getprop ro.product.cpu.abi` и возьмите сборку под неё. Проверка: `adb install -r "<файл>.apk"` завершается `Success`.

**Проблема. Игра стартует и сразу закрывается или висит на загрузке**

- Ошибка в логе: `java.io.FileNotFoundException: /storage/emulated/0/Android/obb/com.example.mgs2hd/main.1.com.example.mgs2hd.obb` (либо экран «Download failed because the resources could not be found»)
- Причина: OBB отсутствует, лежит в другом каталоге или имя не совпадает с `<versionCode>`.
- Решение: проверьте фактическое содержимое и переложите файл:
  ```bash
  adb shell ls -l /sdcard/Android/obb/com.example.mgs2hd/
  adb push "main.1.com.example.mgs2hd.obb" /sdcard/Android/obb/com.example.mgs2hd/
  ```
  Затем очистите данные приложения: `adb shell pm clear com.example.mgs2hd`, и запустите заново.

**Проблема. ПК не видит приставку**

- Ошибка: `error: no devices/emulators found` или статус `unauthorized` в `adb devices`
- Причина: не подтверждён RSA-ключ на экране телевизора, либо завис adb-сервер, либо устройство не в той сети.
- Решение: перезапустите сервер и подтвердите запрос на ТВ:
  ```bash
  adb kill-server
  adb start-server
  adb devices
  ```
  На экране приставки появится диалог «Разрешить отладку по USB» — нажмите «Разрешить» и включите «Всегда разрешать с этого компьютера».

## Резюме и следующие шаги

Вы подключили приставку по ADB, установили APK, положили OBB по пути `/sdcard/Android/obb/<package-id>/` и убедились по логу, что игра запускается без фатальных исключений. Дальше имеет смысл настроить геймпад под конкретный порт и сохранить резервную копию рабочей связки APK+OBB, чтобы не повторять шаги после сброса приставки.

## FAQ

**Пойдёт ли порт на обычном Android-смартфоне?**
Порты рассчитаны на телевизионную приставку и геймпад. Запуск на смартфоне не гарантирован: часть сборок требует конкретной архитектуры и телевизионного интерфейса — проверяйте требования к устройству на странице приложения, сверьтесь с документацией.

**Нужен ли root для установки?**
Нет. `adb install` и копирование файлов в `/sdcard/Android/obb/` работают на обычной прошивке без root-прав; ADB-доступ включается в меню «Для разработчиков».

**Где взять APK и OBB?**
Только легальный источник — покупка или официальная раздача правообладателя/магазина. Сторонние «сборки» проверять на безопасность невозможно, а их имена файлов часто не совпадают с ожидаемым `<versionCode>`.

**Можно ли обойтись без ПК?**
Частично: файлы можно распаковать и разложить на самом устройстве через терминал, а другие способы установки приложений в обход магазина разобраны в [Как запустить ИИ-модель локально на Android: приложения и настройка](https://ai-release.org/guides/kak-zapustit-ii-model-lokalno-na-android-prilozheniya-i.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide). Но команды `adb install` и `adb push` надёжнее выполнять с ПК.
