Mục lục
Bạn có thể chạy tệp APK trên Linux với Waydroid, thứ chạy Android bên trong container trên desktop của bạn với thời gian khởi động khoảng mười giây. Có những lựa chọn thay thế cho các trường hợp riêng: Genymotion và Android Studio chạy Android trong máy ảo, còn Android-x86 khởi động nó như toàn bộ hệ điều hành. Linux không có runtime Android gốc, nên con đường nào ở đây cũng phải dựng một cái.
Bạn Có Thể Chạy APK Trên Linux Không?
Năm con đường tồn tại, và một trong số đó đã chết. Waydroid là tiêu chuẩn hiện tại cho việc dùng trên desktop, Genymotion và Android Studio đáp ứng nhu cầu nhà phát triển, Android-x86 chạy Android như một hệ điều hành dual-boot, còn Anbox nên tránh hoàn toàn vì dự án của nó bị ngừng phát triển vào tháng 2 năm 2023.
Sự lựa chọn gói gọn trong hai câu hỏi. Bạn muốn Android trong một cửa sổ cạnh desktop của mình, hay làm toàn bộ hệ thống? Và máy của bạn có chạy Wayland, điều mà Waydroid yêu cầu không?
| Con đường | Loại | Phù hợp nhất | Chi phí |
|---|---|---|---|
| Waydroid | Container | Dùng desktop hằng ngày, khởi động nhanh | Miễn phí |
| Genymotion | Máy ảo | Ảnh x86, kiểm thử | Miễn phí cho cá nhân |
| Android Studio | Máy ảo | Nhà phát triển, đúng mức API | Miễn phí |
| Android-x86 | Phần cứng thật hoặc máy ảo | Phần cứng cũ, Android toàn màn hình | Miễn phí |
| Anbox | Container | Không gì cả, dự án đã archive | Miễn phí |
Phương Pháp 1: Waydroid
Waydroid chạy một hệ thống Android dựa trên LineageOS bên trong container và vẽ các cửa sổ của nó qua Wayland. Nó dùng chung kernel của bạn thay vì khởi động một máy ảo đầy đủ, nên khởi động nhanh và tốn ít bộ nhớ hơn máy ảo.
Cài Waydroid Trên Bản Phân Phối Của Bạn
Việc đóng gói giờ do chính các bản phân phối đảm nhận trên các bản phát hành gần đây:
- Ubuntu 26.10 và Debian 14: có trong kho. Người dùng Debian 13 lấy từ backports.
- Fedora:
sudo dnf install waydroid. - Arch: gói
waydroidtừ kho cộng đồng hoặc AUR. - Void và NixOS: có gói cộng đồng và được tài liệu hóa trên các trang cài Waydroid.
| Bản phân phối | Lệnh | Gói lấy từ đâu |
|---|---|---|
| Debian 13 | sudo apt install -t trixie-backports waydroid |
Backports |
| Debian 14 | sudo apt install waydroid |
Kho main |
| Ubuntu 26.10 | sudo apt install waydroid |
Kho main |
| Fedora | sudo dnf install waydroid |
Kho Fedora |
| Arch Linux | sudo pacman -S waydroid |
Kho Extra |
| Void Linux | sudo xbps-install -S waydroid |
Kho cộng đồng |
| NixOS | services.waydroid.enable = true |
Module NixOS |
Mỗi dòng đều cho bạn cùng lệnh waydroid và cùng tên dịch vụ. Các bản cũ chưa có gói vẫn cài qua script được ghi tại trang Waydroid, sau đó phần còn lại của hướng dẫn này áp dụng không đổi.
Trước lần khởi động đầu tiên, hãy nạp các module binder. Trên Ubuntu và Debian đó là sudo apt install waydroid cộng một lần khởi động lại nếu gói kéo chúng theo; trên Arch và Fedora, xác nhận binder_linux xuất hiện trong lsmod. Rồi khởi tạo một ảnh bằng sudo waydroid init.
Xác Nhận Bạn Đang Ở Wayland
Chạy:
echo $XDG_SESSION_TYPE
Nếu nó in ra x11, Waydroid sẽ thất bại. Ở phiên Wayland, khởi động dịch vụ và mở container:
sudo systemctl enable --now waydroid-container
waydroid show-full-ui
Cài Một APK Trong Waydroid
Hai cách đều chạy. Nhấp chuột phải vào tệp trong trình quản lý tệp và chọn Open With Waydroid, hoặc đẩy nó từ một terminal:
waydroid app install /path/to/file.apk
adb install cũng chạy một khi bạn bật gỡ lỗi bên trong container, phần này được nói trong hướng dẫn cài bằng ADB.
Giới Hạn Của Waydroid
Waydroid có một khoảng trống dịch ARM. Một ảnh x86 cài các gói x86 và từ chối các gói chỉ cho ARM với INSTALL_FAILED_NO_MATCHING_ABIS, vốn là lỗi cài đặt phổ biến nhất ở đây. Google Play cũng cần một ảnh có sẵn Google apps, chọn trong lúc waydroid init. Tăng tốc GPU phụ thuộc driver của bạn: Mesa trên phần cứng Intel và AMD hoạt động tốt, còn các driver NVIDIA cũ hơn cần bộ proprietary cùng một bước cấu hình thủ công.
Nạp Các Module Binder Mỗi Lần Khởi Động
Waydroid cần module kernel binder trước khi container của nó khởi động, và sudo modprobe binder_linux chỉ có hiệu lực tới lần khởi động lại kế tiếp, nên hãy ghi tên module vào cấu hình khởi động của bản phân phối để giữ nó luôn được nạp, nếu không lần khởi động đầu sau khi reboot sẽ thất bại với lỗi thiếu binder.
| Bản phân phối | Dòng được đặt vào đâu | Kết thúc bằng |
|---|---|---|
| Debian 13 và 14, Ubuntu 26.10 | binder_linux trong /etc/modules-load.d/waydroid.conf |
sudo update-initramfs -u |
| Fedora | binder_linux trong /etc/modules-load.d/waydroid.conf |
Khởi động lại |
| Arch | binder_linux trong mảng MODULES ở /etc/mkinitcpio.conf |
sudo mkinitcpio -P |
| Void Linux | binder_linux trong /etc/rc.local |
Khởi động lại |
| NixOS | boot.kernelModules = [ "binder_linux" ]; |
sudo nixos-rebuild switch |
Xác nhận sau lần khởi động lại bằng lsmod | grep binder. Một dòng bắt đầu bằng binder_linux nghĩa là nó đã nạp. Không có output nghĩa là hãy sửa tệp lại.
Nếu sudo modprobe binder_linux trả lời Module binder_linux not found, thì kernel đang chạy hoàn toàn không có hỗ trợ binder. Hãy cài gói module thêm của bản phân phối bạn đang dùng hoặc chuyển sang một kernel có binder. Cài lại Waydroid không sửa được một kernel thiếu module.
Chạy Google Play Bên Trong Waydroid
Ảnh Waydroid mặc định không kèm Google apps, nên Play Store không bao giờ hiện trong launcher cho tới khi bạn chạy lại sudo waydroid init, chọn tùy chọn ảnh Open GApps ở lời nhắc, và khởi động lại container để ảnh mới được nạp. Cho tới khi điều đó thành công, waydroid app install là con đường duy nhất với bất kỳ ứng dụng nào.
- Dừng dịch vụ bằng
sudo systemctl stop waydroid-container. - Chạy
sudo waydroid initvà chọn tùy chọn ảnh Open GApps khi được hỏi. - Khởi động dịch vụ bằng
sudo systemctl start waydroid-container, rồi mởwaydroid show-full-ui. - Đăng nhập ở lần khởi động đầu. Khi đó cửa hàng cài và cập nhật ứng dụng như bình thường.
Hai điều khiến người dùng lần đầu ngạc nhiên. Gói Google thêm vài trăm megabyte cho phần tải ảnh, và một lần đăng nhập có thể thất bại trong lúc việc đăng ký container bị từ chối. Cả hai thường hết sau một lần waydroid init thứ hai và thêm một lần thử nữa. Các ứng dụng bạn sideload trong lúc đó vẫn hoạt động qua waydroid app install /path/to/file.apk.
Cài Ứng Dụng Không Cần Play Store
Bốn con đường đưa một ứng dụng vào Waydroid khi Play Store vắng mặt: sideload bằng waydroid app install, đăng nhập vào một khách cửa hàng ẩn danh như Aurora Store, duyệt F-Droid tìm công cụ nguồn mở, hoặc dựng lại ảnh với Open GApps trong lúc waydroid init để có cửa hàng đầy đủ.
| Con đường | Bạn được gì | Phù hợp nhất |
|---|---|---|
waydroid app install |
Một gói, không cửa hàng | Những tệp APK bạn đã tải trước |
| Aurora Store | Danh mục của Google Play với đăng nhập ẩn danh | Các ứng dụng cần tài khoản cửa hàng |
| F-Droid | Danh mục nguồn mở | Công cụ tiện ích và quyền riêng tư |
| Ảnh Open GApps | Play Store đầy đủ và cập nhật tự động | Những người muốn trải nghiệm bình thường |
Các lệnh quản lý rất gọn. waydroid app list cho thấy những gì đã cài, waydroid app launch com.example.app mở một ứng dụng, và waydroid app remove com.example.app xóa nó. Cả ba chạy trên mọi ảnh.
Một bản dựng thứ hai với khóa ký khác in ra INSTALL_FAILED_UPDATE_INCOMPATIBLE. Hãy gỡ gói cũ trước, rồi cài lại. Cùng quy tắc này áp dụng trên cả điện thoại.
Cấu Hình Đồ Họa Cho Waydroid
Waydroid render qua compositor của bạn, nên GPU Intel và AMD cần driver nguồn mở Mesa mà hầu hết bản phân phối đã đi kèm, còn card NVIDIA cần driver proprietary cộng nvidia_drm.modeset=1 đặt trên dòng lệnh kernel trước khi container Waydroid khởi động. Cấu hình sai hiện thành cửa sổ đen, nhấp nháy mạnh, hoặc một ứng dụng thoát ngay khi khởi chạy.
Hai lệnh cho thấy container thực sự dùng gì. Chạy cả hai trước khi bạn đổi driver.
glxinfo | grep "OpenGL renderer"
waydroid log | tail -50
Ba trường hợp phủ gần như mọi báo cáo. Mesa trên Intel và AMD không cần cấu hình gì cả. Bộ proprietary của NVIDIA chạy một khi modeset được đặt trên dòng lệnh kernel. Render phần mềm chạy được ở khắp nơi và chậm ở khắp nơi, nên hãy xem đó là một bài thử chứ không phải một cách sửa.
Tài liệu Waydroid có ghi chú driver cho từng trường hợp. Đọc chúng trước khi đổi driver, vì cấu hình NVIDIA không khớp mất nhiều thời gian gỡ hơn là một khung hình chậm.
Cập Nhật Waydroid Và Ảnh Hệ Thống Của Nó
Hãy cập nhật Waydroid bằng trình quản lý gói cho các công cụ container và bằng waydroid upgrade cho ảnh Android, vì hai thành phần đi theo hai lịch trình riêng và chỉ cập nhật một trong hai sẽ để lại sự không khớp làm hỏng lần khởi động container kế tiếp. Bản phát hành hiện tại là 1.6.3 từ ngày 28 tháng 5 năm 2026, và nó mang lại hỗ trợ ban đầu cho ảnh Android 16.
- Cập nhật gói trước:
sudo apt upgrade waydroidtrên Debian và Ubuntu,sudo dnf upgrade waydroidtrên Fedora,sudo pacman -Syu waydroidtrên Arch. - Chạy
waydroid upgradeđể làm mới ảnh hệ thống bên trong container. - Xác nhận kết quả bằng
waydroid version, lệnh này in ra số bản phát hành đã cài.
Hai lần cập nhật là độc lập. Một gói mới mà không chạy waydroid upgrade sẽ giữ nguyên ảnh Android cũ. Một ảnh được làm mới với gói cũ có thể để lại tệp dịch vụ cũ phía sau. Chạy cả hai trong cùng một phiên.
Sau đó khởi động lại container bằng sudo systemctl restart waydroid-container. Các ứng dụng đã cài giữ dữ liệu của chúng qua một lần nâng cấp thường. Hãy xuất bất cứ thứ gì không thể thay thế trước một thay đổi ảnh lớn, vì dữ liệu ứng dụng có thể bị xóa kèm theo.
Đặt Lại Hoặc Gỡ Bỏ Waydroid
Bản cài Waydroid hỏng thường cần đặt lại ảnh thay vì gỡ gói, vì các tệp Android hỏng thường xuyên hơn gói: dừng container, chạy lại sudo waydroid init để tải về một ảnh hệ thống mới, rồi cài lại APK của bạn. Gỡ hoàn toàn mất ba lệnh và xóa mọi ứng dụng bên trong container.
Hãy đặt lại theo thứ tự này. Mỗi bước chờ bước trước nó.
sudo systemctl stop waydroid-containersudo waydroid initđể kéo một ảnh mới vào chỗsudo systemctl start waydroid-container, rồi cài lại APK của bạn
Xóa một ứng dụng thay vì mọi thứ bằng cách chạy waydroid shell, rồi pm clear com.example.app ở lời nhắc Android. Waydroid cũng lưu các công tắc runtime dưới tiền tố persist.waydroid., và waydroid prop set persist.waydroid.multi_windows.on true bật một cái mà không cần dựng lại ảnh.
Để gỡ hoàn toàn, tắt dịch vụ và xóa cả hai thư mục dữ liệu. Không gì lưu ở cả hai chỗ sống sót sau thao tác này.
sudo systemctl disable --now waydroid-container
sudo apt remove waydroid
sudo rm -rf /var/lib/waydroid ~/.local/share/waydroid
Hãy đổi lệnh trình quản lý gói cho khớp bản phân phối của bạn. Dòng cuối xóa ảnh và mọi ứng dụng trong đó, nên hãy xuất trước những gì bạn cần.
Chạy Ứng Dụng Android Trong Cửa Riêng Của Chúng
Waydroid có thể đặt mỗi ứng dụng trong một cửa sổ co giãn được thay vì một máy tính bảng toàn màn hình, và công tắc chỉ là một thuộc tính duy nhất, persist.waydroid.multi_windows.on, đặt thành true rồi khởi động lại container, sau đó các ứng dụng Android hành xử như những chương trình bình thường trên desktop của bạn.
- Chạy
waydroid prop set persist.waydroid.multi_windows.on true. - Khởi động lại container bằng
sudo systemctl restart waydroid-container. - Mở desktop bằng
waydroid show-full-ui. - Khởi chạy hai ứng dụng và kéo mép của mỗi cửa sổ.
Kiểm tra giá trị hiện tại bằng waydroid prop get persist.waydroid.multi_windows.on. Đổi ngược lại bằng cách kết thúc cùng lệnh đó với false. Không cần tải về thêm gì trong cả hai trường hợp.
Trò chơi toàn màn hình vẫn chiếm một cửa sổ. Nhiều cửa sổ hợp với ứng dụng nhắn tin, trình khởi chạy, và bất kỳ thứ gì bạn muốn giữ cạnh một terminal.
Phương Pháp 2: Genymotion Desktop
Genymotion khởi động Android như một máy ảo đúng nghĩa, tốn nhiều bộ nhớ hơn Waydroid và đổi lại cho một ảnh x86 sạch. Bản personal miễn phí cho cá nhân, không hỗ trợ và không có những ảnh Android mới nhất.
Cài AppImage từ trang của Genymotion, tạo một thiết bị ảo, rồi kéo APK của bạn vào cửa sổ. Nó chạy trên Windows, macOS và Linux, nên cùng quy trình áp dụng xuyên các máy. Hãy chọn nó khi một ứng dụng từ chối cài dưới Waydroid vì lý do kiến trúc.
Phương Pháp 3: Bản Build Android-x86 Và Android TV
Android-x86 khởi động Android trực tiếp trên phần cứng PC từ một chiếc USB, dual-boot cạnh Linux. Nó chạy APK bình thường một khi Android là hệ điều hành thay vì một khách.
Tình trạng của nó cần nói thẳng: bản phát hành mới nhất là 9.0-r2, ngày 25 tháng 3 năm 2020, và dự án chưa phát hành bản Android 10 hay mới hơn nào. Nó ổn cho phần cứng cũ và vô nghĩa trên một máy hiện đại nơi Waydroid sẵn có.
Dual-Boot Android-x86 Với Linux
Android-x86 cài như bất kỳ bản phân phối Linux nào: ghi ISO 9.0-r2 vào một chiếc USB, khởi động nó, chọn Create or modify partitions, và để trình cài đặt thêm một mục GRUB khởi động Android bên cạnh hệ thống hiện có mà không đụng tới tệp của bạn. Cả việc mất khoảng 30 phút trên một ổ đĩa thừa.
Hãy đọc bốn điểm này trước khi bắt đầu. Ba trong số đó ngăn bạn phải cài lại.
- Ghi ISO bằng một công cụ kiểm tra lại ảnh sau khi sao chép. Một bản ghi bị cắt cụt tạo ra vòng khởi động.
- Cho Android phân vùng riêng, vì trình cài định dạng đích nó được đưa.
- Khởi động lại và chọn mục GRUB mới. Khi nó thiếu, chạy
sudo update-grubtừ Linux. - Cài APK của bạn theo cách bình thường khi Android tới màn hình chính.
Hai giới hạn quyết định việc này có đáng làm không. Bản phát hành mới nhất vẫn ở 9.0-r2 ngày 25 tháng 3 năm 2020, nên các ứng dụng yêu cầu Android 10 trở lên sẽ từ chối cài. Phần cứng đã chạy được Waydroid thì không có lý do gì đi đường này.
Khởi Động Android-x86 Trong Máy Ảo
Android-x86 9.0-r2 cũng khởi động được bên trong một máy ảo, cách này không tốn gì, không rủi ro cho dữ liệu trên ổ đĩa thật của bạn, và hoàn tất thiết lập trong mười phút, để bạn có thể thử ảnh trên desktop trước khi quyết định có dual-boot nó cạnh Linux hay không.
- Tạo một máy ảo với 4 GB RAM và ổ đĩa 8 GB. Đặt loại thành Linux, Other Linux.
- Gắn
android-x86_64-9.0-r2.isolàm ổ quang, rồi khởi động từ đó. - Chọn Live CD - Run Android-x86 without installation trước. Desktop hiện ra trong khoảng một phút khi KVM được bật.
- Chọn Installation chỉ khi bạn muốn Android trên ổ đĩa ảo.
QEMU làm cùng việc đó trong một dòng lệnh: qemu-system-x86_64 -enable-kvm -cpu host -m 4096 -cdrom android-x86_64-9.0-r2.iso. KVM phải truy cập được tại /dev/kvm, và người dùng của bạn phải thuộc nhóm kvm. Thêm chính bạn bằng sudo usermod -aG kvm $USER, rồi đăng xuất và đăng nhập lại.
Chế độ live không ghi gì. Bản dựng vẫn ở 9.0-r2 từ ngày 25 tháng 3 năm 2020, nên các ứng dụng đòi Android 10 trở lên vẫn từ chối cài. Waydroid vẫn nhanh hơn trên bất kỳ máy nào chạy một kernel hiện tại.
Phương Pháp 4: Trình Mô Phỏng Của Android Studio
Trình mô phỏng của Android Studio chạy trên Linux đúng như nó chạy trên Windows và macOS. Tạo một AVD, chọn một ảnh, khởi động nó, và cài APK của bạn bằng cách kéo nó vào cửa sổ. Đây là con đường dành cho nhà phát triển và cho bất kỳ ai cần một mức API cụ thể để kiểm thử.
Lần khởi động đầu tải về một ảnh hệ thống một đến hai gigabyte, và những lần khởi động lạnh chậm hơn Waydroid. Đổi lại bạn có một bản dựng Google chuẩn, các mức API hiện tại, và không có đóng gói cộng đồng nào phải gỡ lỗi.
Tăng Tốc Trình Mô Phỏng Của Android Studio Bằng KVM
Trình mô phỏng của Android Studio trên Linux dùng KVM để tăng tốc, và không có nó một thiết bị ảo chỉ chạy ở một phần nhỏ tốc độ, nên hãy kiểm tra /dev/kvm, thêm người dùng của bạn vào nhóm kvm, và khởi động lại phiên trước khi bạn tạo một thiết bị.
- Xác nhận CPU có ảo hóa:
grep -Ec '(vmx|svm)' /proc/cpuinfophải in ra một số lớn hơn không. - Kiểm tra nút thiết bị bằng
ls -l /dev/kvm, rồi kiểm tra các nhóm của bạn bằnggroups. - Thêm chính bạn vào nhóm:
sudo usermod -aG kvm $USER. Đăng xuất và đăng nhập lại, vì thay đổi nhóm chỉ áp dụng cho một phiên mới. - Nếu
/dev/kvmthiếu, hãy cài các gói ảo hóa của bản phân phối bạn đang dùng, ví dụqemu-kvmtrên Debian và Ubuntu.
KVM quan trọng vì trình mô phỏng khởi động một máy ảo thật. Không có nó, máy khách rơi về dịch chậm, những lần khởi động lạnh kéo dài hàng phút, và trò chơi trở nên không dùng được. Hãy tạo AVD sau khi đổi nhóm, vì một thiết bị tạo trước đó vẫn thất bại trên /dev/kvm với lỗi quyền truy cập.
Phương Pháp 5: Streaming Android Đám Mây
Khi không gì tại chỗ cài được ứng dụng, một thiết bị đám mây hoàn tất công việc. Redfinger (redfinger.cloud) và BlueStacks X (x.bluestacks.com) stream một phiên Android từ xa tới trình duyệt của bạn, nên bản phân phối, kernel và GPU của bạn thôi không còn quan trọng.
Phù hợp với phần cứng yếu và những ứng dụng bạn chỉ thỉnh thoảng mở. Nó tốn tiền thuê bao và thêm độ trễ nhập liệu rõ thấy trong các trò chơi nhanh.
Biến Thể APK Nào Chạy Được Trên Linux
Kiến trúc quyết định nhiều hơn trên Linux so với bất kỳ đâu khác, vì ảnh khách chọn luật:
- Ảnh x86, APK x86. Tải trực tiếp, đủ tốc độ. Đây là cấu hình mà Genymotion và Android-x86 cho bạn.
- Ảnh x86, APK chỉ cho ARM. Thất bại với
INSTALL_FAILED_NO_MATCHING_ABIS. Waydroid không đi kèm dịch ARM, nên gói không có thư viện để tải. - Máy chủ arm64 với ảnh arm64. Tốc độ gốc, và là trường hợp phổ biến trên các máy tính đơn-board ARM như Raspberry Pi.
Khi một lượt tải đưa nhiều tệp, hãy lấy bản x86 hoặc universal trên desktop. Lý do phía sau mỗi tên ABI nằm trong kích thước tệp APK và kiến trúc.
Đọc Yêu Cầu Của Một APK Trước Khi Cài
Hãy đọc yêu cầu của một APK trên Linux với cùng lệnh như ở mọi nơi khác: aapt dump badging file.apk in ra phiên bản Android tối thiểu và các kiến trúc CPU bên trong gói, và hai dòng đó quyết định việc ảnh Waydroid x86 của bạn có chấp nhận tệp hay không.
Binary đi kèm Android SDK tại ~/Android/Sdk/build-tools/34.0.0/aapt, và Android Studio tạo thư mục đó trong lần chạy đầu. Debian và Ubuntu có cùng công cụ dưới dạng gói aapt. Hãy đọc tệp trước khi bạn đẩy nó vào container.
package: name='com.example.app'
sdkVersion:'26'
native-code: 'arm64-v8a'
| Dòng trong output | Chuyện gì xảy ra trên ảnh Waydroid x86 |
|---|---|
sdkVersion:'26' |
Cài được khi ảnh là Android 8.0 trở lên |
sdkVersion cao hơn ảnh |
Bị từ chối với INSTALL_FAILED_OLDER_SDK |
Chỉ có native-code: 'arm64-v8a' |
Bị từ chối với INSTALL_FAILED_NO_MATCHING_ABIS |
Có native-code: 'x86_64' |
Tải trực tiếp với đầy đủ tốc độ |
Không có dòng native-code |
Cài được trên bất kỳ ảnh nào đáp ứng dòng SDK |
Waydroid không có dịch ARM. Một lần nhìn dòng kiến trúc đã tiết kiệm một lần thử cài lại.
Lỗi APK Thường Gặp Trên Linux
| Triệu chứng | Nguyên nhân | Cách sửa |
|---|---|---|
Lệnh waydroid not found |
Gói chưa cài hoặc không có trong PATH | Cài lại từ kho distro của bạn, rồi mở một shell mới |
| Container khởi động, cửa sổ không bao giờ hiện | Phiên X11 | Chuyển trình quản lý màn hình sang phiên Wayland |
Failed to start binder module |
Binder chưa được nạp | sudo modprobe binder_linux, rồi thêm nó vào initramfs |
INSTALL_FAILED_NO_MATCHING_ABIS |
APK chỉ cho ARM trên ảnh x86 | Tìm gói x86 hoặc universal, hoặc chuyển sang Genymotion |
| Cửa sổ ứng dụng đen hoặc nhấp nháy | Driver GPU không khớp | Ép render phần mềm, hoặc cài driver proprietary |
| Play Store thiếu | Ảnh dựng không có Google apps | Chạy lại waydroid init với tùy chọn ảnh Google |
Vấn đề binder chiếm phần lớn những lần cài đầu thất bại. Hãy kiểm tra chúng trước khi cài lại bất cứ thứ gì.
Kiểm Tra Phiên Và Đọc Log
Ba lệnh chẩn đoán phần lớn thất bại của Waydroid trên bất kỳ bản phân phối nào: waydroid status báo phiên và container có đang chạy không, waydroid log in ra output của chính container, và sudo journalctl -u waydroid-container -e cho thấy vì sao dịch vụ systemd dừng trước khi bạn mở bất kỳ ứng dụng nào. Hãy chạy chúng theo đúng thứ tự đó trước khi bạn cài lại bất cứ thứ gì.
waydroid status in ra những dòng quan trọng: Session, Container và Vendor type. Cả Session và Container đều nên ghi RUNNING. Bất kỳ giá trị nào khác giải thích một màn hình trống.
| Status hiện gì | Nguyên nhân khả dĩ | Lệnh chạy đầu tiên |
|---|---|---|
| Session: STOPPED | Phiên chưa bao giờ khởi động | waydroid session start |
| Container: STOPPED | systemd unit đang tắt | sudo systemctl start waydroid-container |
| Cả hai RUNNING, không có cửa sổ | Đang dùng phiên X11 | Đăng xuất và chọn một phiên Wayland |
| Cả hai RUNNING, thiếu ứng dụng | APK chưa bao giờ được đăng ký | waydroid app install /path/file.apk |
Muốn chi tiết, waydroid log xem phần đuôi output của container và sudo journalctl -u waydroid-container -e mở lịch sử dịch vụ. Hãy sao chép mười dòng cuối trước khi bạn nhờ người khác giúp đỡ. Chuỗi lỗi thường nằm trong đó.
So Sánh Waydroid, Genymotion Và Android Studio
Chọn Waydroid cho việc dùng desktop hằng ngày vì nó khởi động trong vài giây và dùng chung kernel của bạn, chọn Genymotion khi một ứng dụng từ chối cài vì nó cần một ảnh x86, và chọn Android Studio khi bạn bắt buộc phải kiểm thử một mức API chính xác. Cả ba đều không mất gì với cách hầu hết mọi người dùng.
| Con đường | Khởi động | RAM điển hình | Phiên bản Android | Chi phí | Phù hợp nhất |
|---|---|---|---|---|---|
| Waydroid 1.6.3 | Khoảng 10 giây | 2 đến 3 GB | Runtime Android 13, ảnh Android 16 | Miễn phí | Ứng dụng hằng ngày trên desktop |
| Genymotion | Dưới một phút | 4 GB | Ảnh cũ hơn ở tầng miễn phí | Bản personal miễn phí | Gói x86 và kiểm thử |
| Android Studio AVD | 1 đến 2 phút | 4 đến 6 GB | Bất kỳ mức API nào bạn chọn | Miễn phí | Kiểm tra đúng phiên bản |
| Streaming đám mây | Tab trình duyệt | Không gì tại chỗ | Bất kỳ thứ gì máy chủ chạy | Freemium | Những máy không chạy được gì ở trên |
Waydroid 1.6.3 phát hành ngày 28 tháng 5 năm 2026 với hỗ trợ ảnh Android 16 ban đầu, trong khi ảnh runtime của nó vẫn là Android 13 dựa trên LineageOS. Genymotion và Android Studio khởi động một máy ảo đầy đủ thay vào đó, tốn nhiều bộ nhớ hơn và đổi lại có sự cô lập tốt hơn.
Bạn Nên Chọn Con Đường Nào
Việc dùng hằng ngày dành cho Waydroid: nó khởi động nhanh, dùng chung desktop của bạn, và cài từ chính kho của bản phân phối bạn đang dùng. Công việc phát triển dành cho Android Studio. Một ứng dụng từ chối cài dưới Waydroid thì chuyển sang Genymotion cho một máy ảo x86.
Hãy bắt đầu với Waydroid, xác nhận bạn đang ở Wayland, và nạp binder trước lần khởi động đầu. Hướng dẫn Raspberry Pi nói về cùng những công cụ đó trên phần cứng ARM, còn hướng dẫn cài xử lý quyền và các gói split khi APK của bạn khởi động được.
Điểm chính
- Waydroid là con đường mặc định năm 2026: một container, không phải máy ảo đầy đủ, và cần Wayland cộng module binder.
- Anbox bị ngừng phát triển từ tháng 2 năm 2023, còn Android-x86 chưa phát hành bản nào sau 9.0-r2 tháng 3 năm 2020.
- Gói theo distro giờ đã phủ Debian, Ubuntu, Fedora, Arch, Void và NixOS.
- APK chỉ cho ARM thất bại trên ảnh x86 với INSTALL_FAILED_NO_MATCHING_ABIS.
Các câu hỏi thường gặp
Tôi có thể chạy tệp APK trên Linux không?
Có, qua một lớp tương thích. Waydroid chạy Android trong container trên desktop của bạn, Genymotion và Android Studio chạy nó trong máy ảo, còn Android-x86 khởi động nó như toàn bộ hệ điều hành. Không gì chạy được gốc, vì Linux không đi kèm runtime Android.
Waydroid là gì?
Waydroid chạy một hệ thống Android bên trong container Linux, dùng Wayland cho phần hiển thị. Nó khởi động trong khoảng mười giây, tích hợp với desktop của bạn, và là người kế nhiệm được duy trì của Anbox. Phiên bản 1.6.3 phát hành ngày 28 tháng 5 năm 2026.
Waydroid có tốt hơn Anbox không?
Có, và chênh lệch rất lớn. Anbox bị ngừng phát triển vào tháng 2 năm 2023, kho của nó đã được archive và việc phát triển đình trệ. Waydroid được nêu đích danh là người kế nhiệm trong chính ghi chú dự án của Anbox và vẫn nhận các bản phát hành thường xuyên.
Waydroid có chạy trên X11 không?
Không. Waydroid bắt buộc phải có phiên Wayland, nên nó thất bại trên cấu hình chỉ có X11 và trên các live ISO. Trên Ubuntu 22.04 trở lên, cũng như trên Fedora và Arch bản mặc định, Wayland đã là phiên mà trình quản lý màn hình của bạn chọn.
Tôi có thể chạy tệp APK trên Ubuntu không?
Có. Cài Waydroid từ kho của nó, đảm bảo các module kernel binder được nạp, khởi động một phiên Wayland, rồi cài APK của bạn bằng công cụ Waydroid hoặc adb. Debian 13 trở lên và Ubuntu 26.10 đã có Waydroid trong kho của riêng mình.
Tôi có thể chạy tệp APK trên Arch Linux không?
Có, qua gói Waydroid trong AUR hoặc kho cộng đồng. Người dùng Arch phải tự nạp module binder và giữ chúng trong cấu hình initramfs, chính là bước mà hầu hết lần cài đầu tiên đều bỏ qua.
Biến thể APK nào chạy được trên Linux?
x86_64 khi ảnh mô phỏng của bạn là x86, vì những gói đó tải trực tiếp. APK chỉ cho ARM thất bại với INSTALL_FAILED_NO_MATCHING_ABIS trên ảnh x86, vì Waydroid không đi kèm lớp dịch ARM.
Tôi có cần máy ảo để chạy APK trên Linux không?
Không. Waydroid dùng container và khởi động nhanh hơn một máy ảo. Genymotion và Android Studio thì có dùng máy ảo, tốn nhiều bộ nhớ và thời gian khởi động hơn nhưng cô lập tốt hơn và có ảnh x86.
Vì sao Waydroid không khởi động được trên distro của tôi?
Gần như luôn là thiếu module binder hoặc đang ở phiên X11. Nạp binder_linux hoặc ashmem, xác nhận bạn đang ở Wayland bằng echo $XDG_SESSION_TYPE, rồi khởi động lại dịch vụ Waydroid.
Chạy tệp APK trên Linux có hợp pháp không?
Có, với những ứng dụng bạn có quyền sử dụng. Bản thân Android là mã nguồn mở, các trình mô phỏng là phần mềm bình thường, và rủi ro pháp lý trong lĩnh vực này đến từ các gói bị crack chứ không phải từ việc chạy chúng.