내 안드로이드에 .jar 파일을 어떻게 설치합니까?


9

3D 게임을 다운로드하여 압축을 풀고 .jar 파일을 얻었습니다. Android에서 어떻게 사용할 수 있습니까? 2.1을 실행하는 Galaxy S가 있습니다.

답변:


13

Android는 java를 사용하지만 일반 JAR 파일은 지원하지 않습니다. 대신 APK라는 Android 특정 형식을 사용합니다. 주요 차이점은 Android는 일반적인 Java Virtual Machine을 사용하지 않지만 Android에 최적화 된 자체 Dalvik Virtual Machine을 포함한다는 것입니다.


당신은 안드로이드 2.1에서 jar 파일을 설치할 수 없다는 것을 의미합니다.
Jeevan Bhatt

5
@Jeevan Bhatt : 맞습니다. 이것은 미래에 변경 될 수 있지만 (누군가 안드로이드 용 JVM을 작성하는 경우) 숨을 쉬지 않을 것입니다.
onik

나는 인터넷에서 검색을했고 안드로이드 지원 만 APK 파일을 알기 때문에 어떤 변환기에 의해 .jar를 .apk로 변환해야합니까?
Jeevan Bhatt

4
예, 일부 변환기가 있지만 신뢰성이 떨어집니다. 문제는 Android가 전체 Java 라이브러리의 일부를 사용하고 대부분의 기능을 제어하기 위해 자체 라이브러리를 추가한다는 것입니다. 예를 들어, 그래픽 사용자 인터페이스 클래스는 Android에서 사용할 수 없습니다 (예 : 스윙). 또한 변환기는 터치 스크린 / 키보드 기능과 같은 모든 UI 이벤트를 다시 작성해야합니다. 구형 변환기에 사용 된 MI2 애플릿 (J2ME)에 대해 일부 변환기가이를 수행 할 수 있지만 일반 Java 앱 (아마도)이 작동하지 않습니다. 변환기를 사용해 볼 수는 있지만 결과가 지연되거나 버그가 발생하거나 충돌 할 수 있습니다.
onik

9

Ryan Conrad & Onik에 부분적으로 동의하지 않습니다.

삼성 Spica가 있으며 v1.6을 실행하고 현재 Java ME Apps라는 2.1 (공식 Samsung India 버전)을 실행하는 동안 앱이 사전로드되었습니다.

여러 Java 앱 (Android 이외의 전화를 의미)을 통해 실행하고 있습니다.

둘 다 JAR 파일이며 Java ME 앱을 통해 실행되면 예상대로 실행됩니다.

요약하자면 안드로이드에서 JAR 앱을 실행하는 방법이 있습니다. 그러나 WRT APK 및 Dalvik에 언급 된 모든 내용에 동의합니다.


당신이 연결 한 Formula 1 앱은 자바 / j2me 앱이 아닌 네이티브 안드로이드 앱인 것 같습니다.
Irfan

1
이제는 ... 원래 게시했을 때 Android 버전이 없었습니다 .J2ME 버전이었습니다. ;-)
Sparx

어떻게 했어요?
호기심 많은

4

안드로이드는 실제로 자바를 "사용"하지도 않습니다. 코드가 작성되는 언어는 Java이지만 Android SDK는 컴파일 된 바이트 코드를 가져와 Dalvik 바이트 코드로 변환합니다.

따라서 안드로이드가 자바를 실행한다는 것은 오해입니다. Android는 핵심 라이브러리가 Java 프레임 워크를 기반으로하는 Dalvik을 실행하지만 최종 결과 바이너리 파일은 동일하지 않으며 가상 머신도 완전히 다릅니다.

Dalvik VM이 Java 바이트 코드를 실행하지 않는 것처럼 Java VM은 Dalvik 바이트 코드를 실행하지 않습니다.

Android (또는 추가 라이브러리)에서 모든 기능을 사용할 수 있지만 Java UI가있는 모든 기능이 작동하지 않으면 라이브러리를 Dalvik으로 변환 할 수 있습니다.


나는 실제로 동의하지 않습니다. Google은 Java라는 자체 언어를 작성하지 않았습니다. 단순히 OpenJDK를 사용하여 마케팅을 위해 Dalvik 등으로 이름을 지정한다고 생각합니다.
YumYumYum

1
달빅 바이트 코드와 자바 바이트 코드를 비교 한 적이 있습니까?
Ryan Conrad

1
@Google : 말 그대로 완전히 잘못되었습니다. Google은 Java 구문 (및 일부 라이브러리)을 사용했지만 Ryan Conrad가 언급했듯이 바이트 코드는 완전히 다릅니다. 마케팅 목적으로 Java JDK를 "이름 바꾸기"하는 것이 아닙니다. 자세한 내용은 Dalvik의 Wikipedia 항목 을 참조하십시오.
eldarerathis

3

jar 파일이 JavaME 용인 경우

MicroEmulator JavaSE의 도움으로 JavaME를 에뮬레이트합니다. 이를 통해 이러한 jar 파일을 apk로 변환하여 장치에 설치할 수 있습니다. 프로세스가 여기설명되어 있습니다.

NetRunner 는 유사한 기능을 제공합니다.


Flow, 그 MicroEmulator 링크가 내가 생각했던 다른 것으로 바뀐 것 같습니다. 답변을 업데이트 해 주시겠습니까?
Firelord

-3

아니요, jar 파일을 안드로이드에 설치할 수 없으며 jar에서 응용 프로그램을 설치하려면 안드로이드 폰이 아닌 J2ME 지원이 필요합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.