We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Termux + Rust + Cross-compilation: создание и кросс-компиляция системных утилит для ARM-устройств прямо в Android

Создание и кросс-компиляция системных утилит для ARM-устройств с использованием Termux, Rust и кросс-компиляции. Подробное руководство для разработчиков.

Termux – это эмулятор терминала для Android, предоставляющий мощную среду разработки прямо на вашем мобильном устройстве. В сочетании с языком Rust и возможностью кросс-компиляции, Termux превращается в полноценную платформу для создания системных утилит и другого программного обеспечения для ARM-устройств. В этой статье мы рассмотрим процесс настройки окружения, написания простого приложения на Rust и его компиляции для архитектуры ARM.

Необходимые компоненты и настройка окружения

Первым шагом является установка Termux из F-Droid (рекомендуемый способ) или Google Play. После установки необходимо обновить пакеты и установить необходимые инструменты:

pkg update && pkg upgrade

Далее устанавливаем Rust toolchain, build-essential и другие необходимые пакеты:

pkg install rust clang make gcc git 

Для кросс-компиляции нам понадобится целевая архитектура ARM. Установим поддержку ARMv7:

rustup target add armv7-unknown-linux-gnueabihf

Если требуется поддержка ARM64, установите:

rustup target add aarch64-unknown-linux-gnu

Убедитесь, что целевая архитектура установлена:

rustup target list

Создание простого приложения на Rust

Создадим простой проект на Rust, который будет выводить строку "Hello from Termux ARM!" в стандартный вывод:

cargo new hello_arm --bin

Перейдем в директорию проекта:

cd hello_arm

Отредактируем файл src/main.rs:

// src/main.rs
fn main() {
    println!("Hello from Termux ARM!");
}

Кросс-компиляция для ARM

Теперь выполним кросс-компиляцию проекта для архитектуры ARMv7:

cargo build --target armv7-unknown-linux-gnueabihf --release

Или для ARM64:

cargo build --target aarch64-unknown-linux-gnu --release

После успешной компиляции исполняемый файл будет находиться в директории target/armv7-unknown-linux-gnueabihf/release/hello_arm (или target/aarch64-unknown-linux-gnu/release/hello_arm для ARM64). Этот файл можно затем скопировать на ARM-устройство (например, через scp, используя локальную сеть, созданную с помощью VPN-сервера на вашем ПК, или через ADB).

Использование сгенерированного исполняемого файла

После копирования исполняемого файла на ARM-устройство, необходимо предоставить ему права на выполнение:

chmod +x hello_arm

Затем можно запустить программу:

./hello_arm

В консоли вы увидите вывод "Hello from Termux ARM!".

Расширенные возможности

Termux позволяет использовать различные инструменты для разработки и отладки, включая:

  • git для контроля версий
  • vim или nano для редактирования кода
  • gdb для отладки

Вы также можете использовать другие языки программирования и инструменты, поддерживающие кросс-компиляцию.

Заключение

В этой статье мы рассмотрели базовый процесс создания и кросс-компиляции системных утилит для ARM-устройств с использованием Termux, Rust и кросс-компиляции. Это мощный способ разработки программного обеспечения непосредственно на вашем Android-устройстве. Если вам требуется помощь в разработке, настройке окружения или кросс-компиляции, специалисты РыбинскЛАБ всегда готовы предложить свои услуги. Мы оказываем консультации, разрабатываем программное обеспечение на заказ и проводим обучение. Обращайтесь к нам для решения ваших задач!

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект