ArchLinux部署waydroid

在Arch Linux系统上部署Waydroid运行Android APP

文章目录

  • 在Arch Linux系统上部署Waydroid运行Android APP
  • 1. 安装要求
  • 2. 本机环境
  • 3. 安装 Waydroid
  • 4. 网络配置
  • 5.注册Google设备
  • 6. 运行效果图

Waydroid是Anbox配合Haliun技术开发的LXC Android容器,可在GUN/Linux系统运行Android APP
演示视频如下:

ArchLinux部署waydroid运行Android应用

主页有各系统运行Waydroid效果(ArchLiunx、Debian、ubuntu、Fedora Linux 、Linux Mint)文章

1. 安装要求

  1. **显卡要求:**目前Waydroid只支持Intel和AMD的显卡,不支持NVIDIA显卡;

  2. **显示管理器要求:**只支持在 Wayland 显示;(X11使用Waydroid需要使用Weston工具)
    检查当前显示管理器:

    echo $XDS_SESSION_TYPE
    
  3. 内核要求:Arch Linux内核运行Waydroid需要重新构建安装,也可使用Linux-Zen内核,可直接使用;

    # 安装linux-zen内核
    sudo pacman -S linux-zen
    # 更新grub
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    
  4. 安装binder核心模组
    Waydroid要求Linux内核支持binder核心模组,但Arch Linux的Linux未开启该选项,需要从AUR安装binder_linux-dkms补充;

    trizen -S binder_linux-dkms
    

    安装后加载binder

    sudo modprobe binder-linux
    

    设为开机自动载入

    su
    echo "binder-linux" >> /etc/modules-load.d/binder.conf
    

2. 本机环境

  • 部署系统:Arch Linux
  • 内核版本:6.5.7-zen2-1-zen
  • CPU:AMD Ryzen™ 7 6800H
  • 显卡:AMD Radeon™ Graphics
  • Waydroid映像檔版本:LineageOS 18 (Android 11)

3. 安装 Waydroid

  1. 从AUR安装Waydroid

    trizen -S waydroid
    
  2. 安装镜像(挂国外的VPN)

    trizen -S waydroid-image
    
  3. 启动服务

    sudo systemctl enable --now waydroid-container.service
    
  4. 桌面启动即可进入

4. 网络配置

(依据情况配置)若Waydroid没有网络,修改防火墙

 sudo systemctl enable --now ufwsudo ufw allow 53sudo ufw allow 67sudo ufw default allow FORWARDsudo ufw reloadsudo systemctl restart waydroid-container

5.注册Google设备

  1. 安装Google服务及Google play
 git clone https://github.com/casualsnek/waydroid_scriptcd waydroid_script# 创建虚拟环境venvpython3 -m venv venv# 虚拟环境进行下载运行所需模块venv/bin/pip install -r requirements.txtsudo venv/bin/python3 main.py

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 获取ID
    Waydroid第一次启动时候无法登陆谷歌账号(提示无法获得Google保护机制认证)

    cd ~/waydroid_script
    # get Android device ID
    sudo venv/bin/python3 main.py certified
    # 生成一串ID序号
    
  2. 注册Android device ID
    进入 https://www.google.com/android/uncertified ,登录Google账号输入获取到的ID进行注册。
    大约半小时后Waydroid可使用Google服务
    在这里插入图片描述

  3. 安装APP(Google Play)
    Google Play会自动筛选出适合x86架构下的APP来安装,此时ARM架构下的APP安装会出现问题。

在这里插入图片描述

  1. 安装ARM转译器–libhoudini
    由于市场上大多数APP为手机ARM架构定制,电脑为X86架构,必须安装ARM转译器才可以正常使用ARM架构的APP.
cd ~/waydroid_script
sudo venv/bin/python3 install libhoudini
  1. 重启Waydroid
    sudo systemctl restart waydroid-container
    

6. 运行效果图

  • Waydroid桌面:

在这里插入图片描述

  • Waydroid应用抽屉:

在这里插入图片描述

  • Arch Linux显示应用:

在这里插入图片描述

在这里插入图片描述

  • ARM架构应用:

在这里插入图片描述

  • x86架构应用:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/51783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华三云课堂CAS5.0忘记admin密码?

当忘记修改后的管理平台 admin 账户密码,无法登录管理平台。 处理步骤: (1) SSH 连接服务器。 (2) 执行/var/lib/h3class/bin/reset-admin-pwd.sh 命令。 (3) 重置后的密码为 Cloud1234

src漏洞挖掘--验证码篇

图片验证码 验证码前端检测 验证码由客户端JS生成并且仅仅在客户端用JS验证,通过抓包看数据传输是否有验证码字段或者是关闭JS看能否通过验证。 测试方法:当我们开始抓包,输入任意验证码,页面提示验证码错误,且没有抓…

如何远程调用运维人员电脑桌面

要远程调用运维人员的电脑桌面,可以通过以下几种方法和工具: 一、使用第三方远程控制软件: 要远程访问操作和维护人员的桌面,您可以使用专业的远程桌面软件按照以下步骤操作。以下是使用 Splashtop 的一般指南,但对于…

ME11-创建采购信息记录

ME11 创建采购信息记录 创建Info Record时,工厂不是必输项。因为采购组织可以对应多个工厂,所以可以针对一个工厂设定Info Record,也可以不固定。 计划交货时间维护供应商收到采购订单后,把货送到工厂的时间。 标准数量一般维护为…

MacOS查看端口占用

在macOS系统中,可以使用lsof和netstat命令来查看端口占用情况。 使用lsof命令 lsof -i :端口号替换端口号为你想要检查的端口。例如,要查看端口8080的占用情况,可以使用: lsof -i :8080使用netstat命令 首先,你需要…

工作中经常听到的云、边、端到底是什么意思?

工作中经常听到的云、边、端到底是什么意思? 在数字化和智能化飞速发展的今天,“云”、“边”、“端”这三个词频频出现在我们的生活和工作中。它们代表着不同的数据处理和计算模式,极大地改变了我们的生活方式。那么,它们分别是…

《Linux运维总结:基于x86_64架构CPU使用docker-compose一键离线部署zookeeper 3.8.4容器版分布式集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、部署背景 由于业务系统的特殊性,我们需要面对不同的客户部署业务系统&#xff0…

邮件攻击案例系列四:某金融企业遭遇撒网式钓鱼邮件攻击

案例描述 2023 年 3 月末,某知名投资公司业务经理李先生先后收到两封看似是来自邮件服务商和公司网络安全部门发出的邮件,标题是“紧急:邮箱安全备案更新通知”。邮件内容称,由于最近公司内部系统升级,所有员工必须重…

【Python机器学习】朴素贝叶斯——使用朴素贝叶斯过滤垃圾邮件

使用朴素贝叶斯解决一些现实生活中的问题时,需要先从文本内容中得到字符串列表,然后生成词向量。 使用朴素贝叶斯对电子邮件进行分类的过程: 1、收集数据:提供文本文件 2、准备数据:将文本文件解析成词条向量 3、分析…

【Windows】Mountain Duck(FTP服务器管理工具)软件介绍

软件介绍 Mountain Duck是一款基于Cyberduck开发的应用程序,它允许用户通过FTP、SFTP、WebDAV、S3和OpenStack Swift等协议连接到云存储和远程服务器,并在本地文件浏览器中以熟悉的方式访问和管理这些文件。 功能特点 支持多种协议: Mountain Duck支持…

面向对象程序设计(C++)模版初阶

1. 函数模版 1.1 函数模版概念 函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本,可以类比函数参数,函数模版就是将函数参数替换为特定类型版本 1.2 函数模版格…

BUG 太多?苹果罕见“重新推送”ios18 beta 4测试版

在刚刚过去的周末,苹果公司面向开发者,重新发布了 iOS / iPadOS 18 Beta 4 更新,内部版本号从 22A5316j 变为 22A5316k,目前尚不清楚两个 Beta 4 版本更新之间的区别。 此次更新包大小仅为251M左右,是 更新。 对于已经…

精品PPT | 微信云原生大数据平台构建及落地实践.pptx

一、大数据上云概述 1.为什么大数据要上云 2.微信大数据平台架构演进 二、大数据上云基础建设 1.统一编排 2.Pod 设计及大数据配套能力 3.计算组件云环境适配 三、稳定性及效率提升 1.K8S 集群稳定性与弹性配额 2.可观测性与智能运维

基于OpenCV C++的网络实时视频流传输——Windows下使用TCP/IP编程原理

1.TCP/IP编程 1.1 概念 IP 是英文 Internet Protocol (网络之间互连的协议)的缩写,也就是为计算机网络相互连接进行通信而设计的协议。任一系统,只要遵守 IP协议就可以与因特网互连互通。 所谓IP地址就是给每个遵循tcp/ip协议连…

[QT开发_音乐播放器项目笔记01]

目录 一:常用类 26 QByteArray 是 Qt 框架中的一个类,用于处理字节数组。它提供了动态大小的字节数组,可以用于存储和操作二进制数据,比如文件内容、网络数据等。 QT项目记录: 一:常用类 26 QByteArray…

【JavaScript】详解JavaScript语法

文章目录 一、变量和数据类型二、运算符三、条件语句四、循环语句五、函数六、对象和数组七、ES6新特性八、实际应用案例 JavaScript是一门广泛应用于Web开发的编程语言。掌握JavaScript语法是成为前端开发者的第一步。本文将详细介绍JavaScript的基本语法,包括变量…

Python技能达到这个水平,高薪就业不是梦

一,高薪就业的必备基础 要达到高薪就业的水平,Python开发者通常需要具备以下几方面的技能和经验: 如需Python籽料直接戳: 2024年最新python教程全套,学完即可进大厂!(附全套视频 下载&#xf…

软件测试必备 - 14个接口与自动化测试练习网站

随着互联网和移动应用的快速发展,接口和自动化测试的重要性日益凸显。越来越多的企业开始重视API测试,因为它不仅能提升开发效率,还能确保系统的稳定性和安全性。这些练习网站为测试人员提供了宝贵的资源,帮助他们掌握必要的技能,应对日益复杂的测试需求。 在软件测试的世…

【Linux】TCP全解析:构建可靠的网络通信桥梁

文章目录 前言1. TCP 协议概述2. TCP报头结构3. 如何理解封装和解包呢?4. TCP的可靠性机制4.1 TCP的确认应答机制 4.2 超时重传机制5. TCP链接管理机制5.1 经典面试题:为什么建立连接是三次握手?5.2 经典面试题:为什么要进行四次挥…

Java每日一题 ~ 盛最多水的容器

. - 力扣(LeetCode) 1.题目解析 本题的要求就是:给定数组索引之间的差值为宽,元素值中小的为边长求面积。 2.算法分析 思路一:暴力枚举 暴力法的思路是对所有可能的容器组合进行穷举,计算它们能容纳的水…