4

私は Android の専門家ではありませんが、いくつかの実験を行うために Android-SDK バイトコードが必要です。

Android のソースをコンパイルしましたが、驚くべきことに、例外をスローする不十分なスタブを基本的に含む同じ SDK を出力します。

ご存知かもしれませんが、開発者パッケージに含まれている android.jar にはスタブが含まれており、すべてのクラスのすべてのメソッドが new RuntimeException("stub"); をスローするだけです。この SDK の目的は、開発者が Eclipse で android.jar に対してビルドし、実際の SDK があるデバイス/エミュレーターでプログラムを実行できるようにすることだけです。

Android の SDK のソースから Java ファイルを分離しましたが、コンパイルに成功しませんでした。そうする方法、またはデバイスからそれらを抽出する方法があるかどうか疑問に思っていました。私の最終的な目標は、Android アプリをエミュレーターや Dalvik で実行するのではなく、通常の JVM で実行することです。

4

2 に答える 2

0

android.jar は Eclipse 専用です。フレームワークでいくつかの変更を行い、同じビルド android.jar ファイルを使用しようとすると、正常にコンパイルされます。ただし、すべてのランタイム lib および jar ファイルを含む system.img を更新する必要があるため、ランタイム エラーが発生します。コスチュームビルドの system.img を置き換えてください。それが動作します。

于 2012-06-25T09:01:44.323 に答える
0

JVM で android.jar コードを実行することはできません。あなたの質問で言ったように、そうするとランタイム例外が発生します。これは、eclipse などの一般的な Java IDE からすべての構文およびリファクタリング ツールのサポートを取得できるようにするための設計です。

于 2012-06-05T20:00:51.310 に答える