Làm cách nào tôi có thể cài đặt các tệp .jar trên Android của mình?


9

Tôi đã tải xuống một số trò chơi 3D, giải nén chúng và nhận các tệp .jar. Làm cách nào để sử dụng những thứ này trong Android? Tôi có một chiếc Galaxy S chạy 2.1.

Câu trả lời:


13

Mặc dù Android sử dụng java, nhưng nó không hỗ trợ các tệp JAR bình thường. Thay vào đó, nó sử dụng một định dạng cụ thể của Android được gọi là APK. Sự khác biệt chính là Android không sử dụng Máy ảo Java thông thường, nhưng chứa Máy ảo Dalvik của riêng nó được tối ưu hóa cho Android.


bạn có nghĩa là tôi không thể cài đặt tệp jar trong Android 2.1.
Jeevan Bhatt

5
@Jeevan Bhatt: Chính xác. Điều này có thể thay đổi trong tương lai (nếu ai đó viết JVM cho Android) nhưng tôi sẽ không nín thở.
onik

Tôi đã tìm kiếm trên internet và biết rằng android chỉ hỗ trợ tệp apk nên tôi cần chuyển đổi .jar thành .apk bằng một số trình chuyển đổi, điều đó có đúng không?
Jeevan Bhatt

4
Vâng, có một số bộ chuyển đổi nhưng chúng không đáng tin cậy lắm. Vấn đề là, Android sử dụng một phần của toàn bộ thư viện java và thêm các thư viện riêng để kiểm soát hầu hết các tính năng. Ví dụ: các lớp Giao diện người dùng đồ họa không thể được sử dụng trên Android (ví dụ: swing). Ngoài ra, trình chuyển đổi cần phải viết lại tất cả các sự kiện UI, chẳng hạn như chức năng màn hình cảm ứng / bàn phím. Rõ ràng một số bộ chuyển đổi có thể làm điều này cho các applet MIDP (J2ME) được sử dụng trên các điện thoại cũ, nhưng các ứng dụng Java thông thường (có thể) sẽ không hoạt động. Bạn có thể thử bộ chuyển đổi, nhưng rất có thể kết quả sẽ bị lag, bị lỗi hoặc gặp sự cố.
onik

9

Tôi muốn một phần không đồng ý với Ryan Conrad & Onik.

Tôi có Samsung Spica và nó đã được cài sẵn một ứng dụng trong khi nó đang chạy v1.6 và hiện đang chạy 2.1 (cả hai phiên bản chính thức của Samsung Ấn Độ) - được gọi là Ứng dụng Java ME.

Tôi đang chạy nhiều ứng dụng Java (có nghĩa là cho điện thoại không phải Android) thông qua nó.

Cả hai đều là các tệp JAR và một lần chạy qua ứng dụng Java ME, cả hai đều chạy như mong đợi.

Vì vậy, để tóm tắt, có một cách để chạy các ứng dụng JAR trên Android. Tuy nhiên, tôi đồng ý với mọi thứ khác được đề cập đến APK WRT và Dalvik.


Ứng dụng Công thức 1 mà bạn đã liên kết dường như là một ứng dụng Android gốc chứ không phải là ứng dụng java / j2me ..
Irfan

1
Bây giờ là ... khi ban đầu tôi đăng nó, không có phiên bản Android - chỉ là phiên bản J2ME. ;-)
Sparx

Làm thế nào bạn chạy nó?
tò mò

4

Android thậm chí không thực sự "sử dụng" java. Ngôn ngữ mà mã được viết là Java, nhưng SDK Android lấy mã byte được biên dịch và chuyển đổi nó thành mã byte Dalvik.

Vì vậy, nó thực sự là một quan niệm sai lầm rằng Android chạy java. Android chạy Dalvik, các thư viện cốt lõi dựa trên khung Java, nhưng các tệp nhị phân kết quả cuối cùng không giống nhau và các máy ảo cũng hoàn toàn khác nhau.

Giống như máy ảo Dalvik sẽ không chạy mã byte Java, máy ảo Java sẽ không chạy mã byte Dalvik.

Chuyển đổi thư viện sang Dalvik có thể là có thể, nếu tất cả các tính năng có sẵn trong Android (hoặc thư viện bổ sung), nhưng bất kỳ thứ gì có Giao diện người dùng Java, sẽ không hoạt động.


Tôi thực sự không đồng ý. Google đã không viết Ngôn ngữ riêng gọi là Java, họ chỉ đơn giản là tôi tin rằng đã lấy OpenJDK và đặt tên là Dalvik, v.v. để tiếp thị.
YumYumYum

1
Bạn đã bao giờ so sánh mã byte dalvik với mã byte java, nó khác nhau.
Ryan Conrad

1
@Google: Nghĩa là hoàn toàn sai. Google đã sử dụng cú pháp Java (và một số thư viện), nhưng như Ryan Conrad đã lưu ý, mã byte hoàn toàn khác. Họ không chỉ "đổi tên" Java JDK cho mục đích tiếp thị. Xem mục Wikipedia của Dalvik để biết thêm.
eldarerathis

3

Nếu tệp jar là dành cho JavaME

MicroEmulator mô phỏng JavaME với sự trợ giúp từ JavaSE. Điều này cho phép chuyển đổi các tệp jar này thành apk và cài đặt nó trên thiết bị của bạn. Quá trình này được mô tả ở đây.

NetRunner cung cấp một chức năng tương tự.


Flow, liên kết MicroEmulator đó dường như đã thay đổi thành thứ khác mà tôi cho là. Bạn có thể vui lòng cập nhật câu trả lời.
Firelord

-3

Không, bạn không thể cài đặt các tệp jar trong Android, để cài đặt các ứng dụng từ jar, chúng tôi cần hỗ trợ J2ME không có trong điện thoại Android.

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.