Androidソースコードを単独コンパイルするモジュール実装方法
1982 ワード
初めてAndroidソースコードをダウンロードした後、私達は通常Androidソースのプロジェクトディレクトリの下でmakeコマンドを実行します。長い待ち時間を経て、Androidシステムの鏡像system.imgを得ることができます。今後、Androidソースコードの中のモジュールを修正したら、あるいはAndroidソースプロジェクトに自分のモジュールを追加しますか?それともmake命令を実行しますか?答えは否定的です。Googleは別のコマンドを用意して、個々のモジュールのコンパイルをサポートします。Androidソースコードを学ぶ前に、このコマンドを見てみましょう。
まず、Androidソースコードディレクトリの下のbuildディレクトリで、スクリプトファイルのenvsetup.shがあります。このスクリプトファイルを実行すると、いくつかの有用なツールが得られます。
USER-NAME@MACHINE-NAME:~/Android$ ./build/envsetup.sh
注意:これはsource命令です。実行後、いくつかの追加命令が使用できます。
二.mmmコマンドを使用して指定されたモジュールをコンパイルします。例えば、Emailアプリケーション:
USER-NAME@MACHINE-NAME:~/Android$mmm package/apps/Email/
コンパイルが完了したら、out/target/product/generanic/system/apディレクトリの下でEmail.appファイルを見ることができます。Androidシステムが持っているアプリは全部このカタログの下にあります。また、Androidシステムの実行可能ファイルのいくつかは、例えば、Cでコンパイルされた実行可能ファイルであり、out/target/product/generation/sysstem/binディレクトリの下に置いて、動的リンクライブラリファイルはout/target/product/geners/libディレクトリの下に置いて、out/target/product/product/productディレクトリの中にあります。私達は続々と言及します。ご注目ください。
三.モジュールをコンパイルした後、もう一度システムファイルを包装してください。そうすると、私たちはシステムをシミュレータで実行する時に、私たちのプログラムが見えます。
USER-NAME@MACHINE-NAME:~/Android$make snod
四.Ubuntuを参照してAndroidの最新ソースコードをダウンロードしてコンパイルしてインストールする方法でシミュレータを実行します。
USER-NAME@MACHINE-NAME:~/Android$emulator
これで全部できます。
Androidのソースを研究する小さなパートナーに役立つことを期待しています。
まず、Androidソースコードディレクトリの下のbuildディレクトリで、スクリプトファイルのenvsetup.shがあります。このスクリプトファイルを実行すると、いくつかの有用なツールが得られます。
USER-NAME@MACHINE-NAME:~/Android$ ./build/envsetup.sh
注意:これはsource命令です。実行後、いくつかの追加命令が使用できます。
- croot: Changes directory to the top of the tree.
- m: Makes from the top of the tree.
- mm: Builds all of the modules in the current directory.
- mmm: Builds all of the modules in the supplied directories.
- cgrep: Greps on all local C/C++ files.
- jgrep: Greps on all local Java files.
- resgrep: Greps on all local res/*.xml files.
- godir: Go to the directory containing a file.
これらのコマンドの具体的な使い方は、コマンドの後ろに-helpを追加して確認することができます。ここではmmmコマンドだけに注目します。つまり、指定されたディレクトリのすべてのモジュールをコンパイルすることができます。通常はこのカタログには一つのモジュールしか含まれていません。 二.mmmコマンドを使用して指定されたモジュールをコンパイルします。例えば、Emailアプリケーション:
USER-NAME@MACHINE-NAME:~/Android$mmm package/apps/Email/
コンパイルが完了したら、out/target/product/generanic/system/apディレクトリの下でEmail.appファイルを見ることができます。Androidシステムが持っているアプリは全部このカタログの下にあります。また、Androidシステムの実行可能ファイルのいくつかは、例えば、Cでコンパイルされた実行可能ファイルであり、out/target/product/generation/sysstem/binディレクトリの下に置いて、動的リンクライブラリファイルはout/target/product/geners/libディレクトリの下に置いて、out/target/product/product/productディレクトリの中にあります。私達は続々と言及します。ご注目ください。
三.モジュールをコンパイルした後、もう一度システムファイルを包装してください。そうすると、私たちはシステムをシミュレータで実行する時に、私たちのプログラムが見えます。
USER-NAME@MACHINE-NAME:~/Android$make snod
四.Ubuntuを参照してAndroidの最新ソースコードをダウンロードしてコンパイルしてインストールする方法でシミュレータを実行します。
USER-NAME@MACHINE-NAME:~/Android$emulator
これで全部できます。
Androidのソースを研究する小さなパートナーに役立つことを期待しています。