Có thể chạy các ứng dụng Android trên Linux (bình thường) không?


17

Vì Android là một hạt nhân Linux cộng với ngăn xếp phần mềm, tôi tự hỏi liệu có bất kỳ dự án hoặc ý tưởng nào liên quan đến việc tạo một phiên bản Android có thể được thêm vào hệ thống Linux để cho phép hệ thống Linux chạy các ứng dụng Android (được biên dịch, giả sử, x86 ).

Có bất cứ điều gì như thế tồn tại hoặc nó sẽ có thể?

(Tôi không có nghĩa là trình giả lập đi kèm với SDK.)


2
Trình phát Android cho BlackBerry Playbook đã gần, mặc dù tất nhiên nó chạy trên QNX chứ không phải Linux.
Matthew đọc

Câu trả lời:


2

Mọi thứ đã thay đổi một chút trong những năm kể từ khi điều này được đăng.

Hiện tại có một số cách (mặc dù chưa có cách nào hoàn hảo) để chạy các ứng dụng Android trên Linux mà không cần trình giả lập hoặc VM.

  1. Shashlik có tính năng tích hợp khá đẹp với môi trường máy tính để bàn GNU của bạn. Thiếu dịch vụ Google Play, mặc dù.
  2. ARChon sử dụng Google Chrome và cho phép bạn cài đặt ứng dụng Android như thể chúng là ứng dụng Chrome. Nó khá gọn gàng, mặc dù ở đây cũng vậy, khả năng tương thích không hoàn hảo .
  3. Cuối cùng, Google chính thức mang đếnCửa hàng Play cho Chrome OS. Vì đây là một dự án chính thức được phát triển bởi Google, tôi tin rằng nó nên có khả năng tương thích tốt nhất. Chrome OS là một bản phân phối Linux, dựa trên Gentoo. Phần lớn mã nguồn của nó được cung cấp thông qua dự án Chromium OS. Mã nguồn này hiện có sẵn, không quá khó để chuyển khả năng tương thích này sang các bản phân phối GNU / Linux phổ biến. Google tương đối thân thiện với nguồn mở (ít nhất là so với Apple / Microsoft) và tôi không nghĩ họ sẽ đưa ra bất kỳ rào cản nào cho việc chuyển đổi như vậy. Nếu bất cứ điều gì, họ dường như quan tâm đến Cửa hàng Play đánh càng nhiều thiết bị càng tốt. Họ thậm chí có thể xây dựng chức năng này thành các phiên bản Google Chrome cho Linux trong tương lai hoặc phát hành một gói riêng. Họ phát hành hầu hết mã nguồn cho cả Android và Chrome OS,

Nhân tiện, không cần phải biên dịch APK riêng cho x86. Các ứng dụng bạn viết được biên dịch thành mã Dalvik Executable (DEX), cuối cùng được chuyển đổi thành mã lắp ráp (theo kiến ​​trúc được yêu cầu) bởi hạt nhân để gửi đến bộ xử lý. (Phần cuối cùng này được lấy từ câu trả lời này. )


12

Không có gì giống như vậy tồn tại vì các ứng dụng không chạy tự nhiên trong HĐH, nhưng thay vào đó chúng sử dụng Máy ảo Dalvik ( Wikipedia ). Nó phần nào có thể so sánh với Java theo nghĩa là nó sử dụng mã byte và tạo ra một môi trường riêng biệt cho mỗi ứng dụng. Vì vậy, trừ khi môi trường Dalvik được chuyển sang các nền tảng khác, chúng không thể chạy trên phần cứng thông thường.

Có một dự án có tên Alien Dalvik của Myriad cố gắng chạy các ứng dụng Android trong các môi trường khác nhau, nhưng không có nhiều thông tin về nó. Vô số người ngoài hành tinh


1

Mọi thứ đã thay đổi một lần nữa kể từ khi Revetahw đăng.

Shashlik dường như là một dự án không hoạt động, nhưng Anbox dường như đang có được chỗ đứng. Ưu điểm với Anbox là nó không mô phỏng nhân Android, mà sử dụng các tính năng nhân Linux để chia sẻ nhân giữa hệ thống Linux của bạn và hệ thống Android.

Ngoài ra, Chrome OS hiện có hỗ trợ ứng dụng Android ổn định trên một số thiết bị, nhưng thật không may, sự tích hợp này là nguồn đóng mà không có kế hoạch mở nguồn mà nó đã công bố.


0

Tôi không biết liệu có dự án loại này. Điều gần nhất có lẽ là các dự án android-x86 là một cổng của môi trường Android trên các máy trạm để bàn: http://www.android-x86.org/


1
Điều này không mô phỏng môi trường Android trên các máy trạm để bàn, đó là một cổng của Android cho các PC thông thường.
Andrew J. Brehm

Chắc chắn, công thức của tôi không phù hợp lắm. Đã sửa nó, thx.
Juri
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.