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.

  • Launch Android Studio IDE & Install Android SDK Tools
    Just accept the proposed Settings…



  • Create a New Android Studio Project.

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


    Select the Android Emulator to Display the App

    Источник

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