Bạn có thể chạy các chương trình Java 'bình thường' trên Android không?


12

Tôi biết một số Java 'bình thường' (Java máy tính) và tôi muốn chạy một chương trình như vậy trên thiết bị Android của mình. Điều này có thể không? Nếu có, làm thế nào?

Câu trả lời:


10

Nói chung, điều này là không thể vì mặc dù java có hương vị Android có cùng cú pháp và ngữ nghĩa như java thông thường, nhưng nó không chạy trên cùng một máy ảo (Google có VM riêng mà điện thoại Android đều có và có định dạng mã byte khác nhau hơn các máy ảo java thông thường) cũng không sử dụng hoặc có quyền truy cập vào thư viện tiêu chuẩn java của Oracle. Google đã triển khai lại hầu hết các yếu tố quan trọng (ví dụ: Google có triển khai HashMap, ArrayList, v.v.) và đã bỏ rất nhiều thứ khác (ví dụ: không có gói swing trong thư viện của Google).


3

Bạn có thể làm điều đó khá dễ dàng vì có nhiều cách để chạy các ứng dụng Java trên Android. Ứng dụng cụ thể được gọi là Trình giả lập Java có thể làm điều đó khá dễ dàng.

Đây là các trình giả lập Java phổ biến cho Android: viz, JBED, PhoneME, Jblend và NetMite. Có sắp xếp theo thứ tự sở thích của tôi. Bạn có thể sử dụng PhoneME cho các thiết bị chưa được đăng ký; tuy nhiên, nếu thiết bị của bạn đã được root, hãy thử bất kỳ ứng dụng nào trong ba ứng dụng còn lại.


2

Nếu theo 'bình thường' Java (Java máy tính), bạn có nghĩa là Phiên bản tiêu chuẩn Java (J2SE - các chương trình Java thường chạy trên PC, như Eclipse, Vuze, v.v.) thì câu trả lời có lẽ là không. Không có cách nào để chạy chúng trực tiếp trên Android và không có ứng dụng hoặc sửa đổi nào (ít nhất là tôi không biết) cho phép.

Các ứng dụng (trình giả lập) được đề cập trong các câu trả lời khác dành cho môi trường J2ME (Java2 Micro Edition, còn được gọi là MIDP và các ứng dụng là "midlets"). Chúng là các ứng dụng Java cho thiết bị di động đã phổ biến trước khi Android xuất hiện.


0

Bạn có thể sử dụng JBED . JBED là một chương trình được thiết kế để cung cấp khả năng sử dụng các ứng dụng Java (tệp .jar mà tôi tin) trên các thiết bị có HĐH Android. Tôi chưa bao giờ sử dụng nó vì vậy không thể chứng minh cá nhân cho nó.


1
Theo danh sách trên trang web của bên thứ ba tinh ranh mà bạn liên kết đến, nó chỉ dành cho các applet di động J2ME. OP đã không nói nếu đó là những gì họ muốn.
Dan Hulme

Tôi biết trang web không tuyệt vời, có các liên kết XDA và DroidBeans nếu OP muốn Google cho nó, nhưng nó nói rằng nó có thể chạy .jars mà JavaSE đầy đủ có thể được xuất ra. Nếu tôi có cơ hội kiểm tra thì tôi sẽ cập nhật.
Đậu phộng

1
Chỉ để hoàn thiện, trang web này cung cấp cách cài đặt và sử dụng ứng dụng. Tôi đã thử nghiệm trên Lollipop nhưng nó không hoạt động (readme nói về Gingerbread, vì vậy tôi không chắc nó có tương thích trên Android mới nhất không). (Tuyên bố miễn trừ trách nhiệm: Tôi không có bất kỳ mối quan hệ nào với blog và blogger của nó. Chỉ tò mò về ứng dụng này từ một câu hỏi khác và tìm thấy bài viết này)
Andrew T.
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.