32

source.android.com からダウンロードした Android ソースコードに取り組んでいます。

完全なビルドの後、Android ビルド システムについて説明しているこのサイトhttp://elinux.org/Android_Build_Systemを調べました。

外部/Webkit コードに変更を加えてビルドする場合

make -j4 libwebcore対応するファイルをコンパイルし、libwebcore.so を更新するので、多くの時間を節約できます。同じことがアプリケーションにも適用され、apk の構築にも適用されます。

make -j4 framework フレームワークに変更を加え、対応するファイルをコンパイルしていないとしてコマンドを実行すると、問題が発生し ます。誰でも私を助けることができます!

4

2 に答える 2

50

フォルダframeworksには多くのものが含まれています。何をビルドするかをmakeに指示することについてより具体的にする必要があります。

たとえば、次のように変更しました frameworks/base/cmds/input/src/com/android/commands/input/Input.java。これで、対応するAndroid.mkファイルは次の場所に あります。これには、次frameworks/base/cmds/input/Android.mkの行が含まれていますLOCAL_MODULE := input

したがって、ソースからビルドされているモジュールはと呼ばれるinputので、次のように呼び出します。

$ make input

その特定のモジュールを再構築します。

ボーナス情報として、ヘルパーを使用して、次mmmのようにビルドするモジュールのパスを指定できます。

$ mmm frameworks/base/cmds/input

またはmm、現在の作業ディレクトリにモジュールをビルドするだけの方法を使用します。

$ cd frameworks/base/cmds/input
$ mm

私は通常mmm、好みのツールとして使用します。


アップデート

ああ、あなたは具体的に呼ばれるモジュールについて話しているかもしれないと思いますframework

を変更しようとしましframeworks/base/core/java/android/app/Dialog.javaた:、そして:を実行しますmake framework

これはフレームワークをうまく再コンパイルするようです。実行する前に、正確にどのファイルに変更を加えていmake frameworkますか?


あなたのコメントに応えて

変更しようとしましたframeworks/base/core/java/android/webkit/WebView.javammm frameworks/baseだけでなくmake framework、私にとっては完全にうまく機能します。

うまくいかない場合は、作成しているAndroidのバージョン、正確に入力しているコマンド、表示されている出力に関する追加情報で質問を更新できますか?

于 2012-10-31T09:27:12.110 に答える