3

Android OSでは、デスクトップ環境でコンパイルされたいくつかのJavaJARファイルを実行できます。たとえば、jtransforms

なぜそうなのか分かりますか?OracleのJVMとGoogleのDalvikVMは2つの異なるバイトコード形式を使用していると思いましたか?Java SEによってコンパイルされたJARファイルがAndroidで実行できるのはなぜですか?

4

3 に答える 3

6

私はあなたがあなたのAndroidプロジェクトにjarファイルを単に含めていると思いますか?次に、ビルドプロセス中に、dex形式に変換されるので(同じことが独自のクラスファイルに対しても行われます!)、機能します。これは、dex(dx)ツールを使用して実行されます。EclipseでADTを使用すると、自動的に実行されます。もちろん、AndroidSDKでも手動で使用できます。

android-sdk-windows\platform-tools\dx.batWindowsの場合の下。

于 2012-06-17T11:52:25.753 に答える
1

ウィキペディアによると、dxコンパイルされ.classたファイルを.dex形式に変換するために使用されます。

于 2012-06-17T11:52:16.937 に答える
0

1. Java SE - Java (Swing + AWT)=Android

2 In 2005, when Java was undergoing changes, Android creator didnt wanted to base Android totally on Java.。So they included JVM as the 1st compilation unit, thats the reason JRuby , Jython, etc can be used to write Android appsAnd 2nd Compilation unit as Dalvik Compiler

3. So its quite natural that a jar file compiled under desktop environment works fine on Android.

于 2012-06-17T12:31:03.663 に答える