Arch linux android apps

Anbox (Русский)

Состояние перевода: На этой странице представлен перевод статьи Anbox. Дата последней синхронизации: 23 октября 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Reason: Многочисленные нарушения правил стилевого оформления, см. Help:Стиль. (Discuss in Talk:Anbox (Русский))

Anbox — это контейнерное ПО для запуска Android на дистрибутивах GNU/Linux.

Установка

Примечание: Модули DKMS больше не работают с версиями ядра Linux 5.7 и выше. (Подробнее об этом: [1])

Вместо этого следуйте инструкции ниже.

Инструкция для старых ядер: Старые ядра.

1. Установите (или соберите) необходимое ядро:

Для запуска Anbox необходимо ядро, в котором активированы определенные настройки.

2. Включите binder и ashmem :

Запустите с правами суперпользователя:

$ modprobe binder_linux ashmem_linux

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

Тут есть решение часто встречаемой ошибки logger.cpp .

Старые ядра

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

На старых версиях ядра (до 5.7) DKMS-модули все еще работают.

Примечание: Пакет модулей DKMS anbox-modules-dkms-git был удален из AUR, поэтому нужно собрать их вручную.

2. Соберите и установите модули DKMS вручную из репозитория GitHub: [3].

4. Установите один из этих образов:

5. Загрузите модули ядра вручную (опционально):

Читайте также:  Посмотреть доступные сети linux

Можете загрузить DKMS-модули вручную, без перезагрузки компьютера:

$ modprobe ashmem_linux binder_linux
anbox-container-manager.service

Сеть

systemd-networkd

Пакет anbox-git AUR использует systemd-networkd чтобы иметь доступ к сети в Anbox. Поэтому нужно включить systemd-networkd или запустить systemd-networkd перед запуском anbox-container-manager.service .

Скрипт anbox-bridge

Нужно запускать anbox-bridge каждый раз перед запуском anbox-container-manager.service чтобы добиться работы сети в Anbox.

Простейшим решением в таком случае является создание файла enable-anbox-bridge.conf .

/etc/systemd/system/anbox-container-manager.service.d/enable-anbox-bridge.conf
[Service] ExecStartPre=/usr/bin/anbox-bridge start ExecStopPost=/usr/bin/anbox-bridge stop

Использование

После установки вы сможете запускать Android приложения в лаунчере рабочего стола из категории Другое.

Если вы хотите использовать adb для отладки, установите android-tools

Установка приложений через adb

Если не был выбран образ с houdini, Anbox не будет поддерживает ARM приложения. Поэтому приложения должны иметь архитектуру x86_64.

Чтобы установить /путь/к/приложению.apk

$ adb install /путь/к/приложению.apk 

Получить список всех установленных приложений:

$ adb shell pm list packages

Обратите внимание, что вывод будет аналогичен таковому от package:app.name , где app.name отличается от отображаемого в контейнере anbox.

чтобы удалить app.name

$ adb uninstall app.name 

Если app.name — системное приложение:

$ adb uninstall --user 0 app.name 

Установка приложений через магазины приложений

Приложения можно легко установить через магазины приложений. В anbox-image-gapps AUR включен PlayStore.

Советы и рекомендации

Пересборка ядра с необходимыми настройками

Если вы не хотите использовать ядро linux-zen , можно пересобрать ядро:

CONFIG_ASHMEM=y CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_BINDERFS=y CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"

2. Перезагрузитесь в новое ядро.

# mkdir /dev/binderfs # mount -t binder binder /dev/binderfs

Решение проблем

Если возникнут проблемы, посмотрите официальный Трекер Проблем: https://github.com/anbox/anbox/issues

Старые процессоры

Некоторые старые процессоры не поддерживают SSE 4.1/4.2 и SSSE 3, необходимый для Anbox, поэтому на таких процессорах,скорее всего, Anbox работать не будет. [4].

Ошибка SecureBoot

modprobe: ERROR: could not insert 'ashmem_linux': Operation not permitted

Скорее всего, Secure Boot блокирует модуль. Можно либо отключить SecureBoot либо подписать модуль ashmem самому.

Читайте также:  Linux kvm qemu windows

Больше информации про это можно найти здесь: [5].

Смотрите также

Источник

Android App Development Quick-Start With Hello-World on Arch Linux Easy Guide

You are Welcome! The Tutorial shows you Step-by-Step How to Quick Start with Android Studio IDE Development with a Hello World App on Arch Linux 32-64bit Desktop.

The Hello World Android App is a Basic App that Simply Display the text ‘Hello World’ when you Open it Up.

Android is a Linux-based operating system for cell phones and tablets made by Google and Open Handset Alliance.

Android Studio is the official IDE for Android application development, based on IntelliJ IDEA.

Android Studio IDE Hello World App for Arch Linux - Featured

  • Launch Android Studio IDE & Install Android SDK Tools
    Just accept the proposed Settings…
    Android Studio Quick Start for Linux - welcome
    Android Studio Quick Start for Linux - verify settings
    Android Studio Quick Start for Linux - emulator settings
    Android Studio Quick Start for Linux - downloading components
  • Create a New Android Studio Project.

    Android App Hello World on Android Studio IDE for Arch Linux - Create New Android Studio Project

    Android App Hello World on Android Studio IDE for Arch Linux - Configuring Android Project

    Hello World App on Android Studio IDE for Arch Linux - create blank activity

    android studio ide for Arch Linux quick-start hello world - naming and options

    Then Finish and Wait for Gradle Compilation of the Android App…

    android studio ide for Arch Linux quick-start hello world - running app
    Select the Android Emulator to Display the App
    android studio ide for Arch Linux quick-start hello world - choose emulator

    Источник

  • Оцените статью
    Adblock
    detector