http://blog.sina.com.cn/s/blog_593aa8dd0100d0f5.html
在eclipse里,查看windows-->perference-->android-->ddms,记住端口号
右键debug framework source project,写入端口号,即debug scuess.
There is a lot of confusion surrounding the work flow in the Android source tree, so allow me to simplify:
- Follow the initial instructions for downloading the source at:
http://source.android.com/download - Set up your environment to build the engineering build for the generic device and generic product. This is similar to the SDK, but with a few pieces missing.
$ source build/envsetup.sh
$ lunch 1 - To build for the first time:
$ make
If you have a multi-core system, you can build withmake -jNwhere N is twice the number of cores on your machine. This should speed up the first build considerably. - To launch the emulator from your build:
$ ./out/host/<your-machine-type>/bin/emulator
On my system<your-machine-type>islinux-x86.
NOTE: The emulator knows where to find system and data images as a result of runninglunch 1above. This sets the environment variableANDROID_PRODUCT_OUTto point to the target directory. For this example, it should beout/target/product/generic/. - If you wish to make changes to the source code, there are handy utilities that have been exposed to your environment by
source build/envsetup.shabove. For example, if you modify the Email app and just want to rebuild it:$ mmm packages/apps/Email - To see your changes in the emulator you can run:
$ adb remount
$ adb sync
Which will copy the regeneratedEmail.apkfile into the emulator's/system/appfolder, triggering thePackageManagerto automatically reinstall it. - Or if you change framework resources in
frameworks/base/core/res/res/you could regenerateframework-res.apkwith:$ mmm frameworks/base/core/res
Or if you modified even the framework itself you could run:$ mmm frameworks/base
To sync these changes you must restart the running framework and sync, as with this handy sequence:$ adb remount
$ adb shell stop
$ adb sync
$ adb shell start - Finally, to debug your changes you can use the DDMS tool to select a process for debug and then attach Eclipse to it. If you have the Eclipse Android Development plugin installed, there is a special DDMS perspective which you can use to choose the process for debug. To attach Eclipse to it, see these instructions:
http://source.android.com/using-eclipse
This document also describes how to use Eclipse for development. Any IDE should work with the proper finagling though. Just note that the IDE won't really be an integrated environment: the final output of APKs,system.img, and even the generation ofR.javafiles will have to be done bymake!
A note about the processes in Android:
-
system_processhouses all things underframeworks/base/services. This includes the PackageManagerService, StatusBarService, etc. It has many, many threads (one for each service, and then one main UI thread), so be wary when debugging. -
com.android.acorehosts Launcher (home), Contacts, etc. You can determine the apps/providers that run here by looking forandroid:process="android.process.acore"in the variousAndroidManifest.xmlfiles in packages/.
Also remember that the "framework" (underframeworks/base/core/java) is not hosted by any one process. It is a library used by most processes, so to debug code there you can usually use a simple demo app that takes advantage of whatever you changed and debug that app's process. A useful trick for setting up your debug connection is to callDebug.waitForDebugger()during some startup part of an application or system service. -
UPDATE 2009-07-24: The original ONE_SHOT_MAKEFILE line I gave for rebuilding the framework has been deprecated. mmm frameworks/base is now the recommended way to rebuild the framework code.
本文介绍了如何下载Android源代码并进行构建,包括设置环境变量、使用make命令加速构建过程等。此外,还详细说明了如何在模拟器中运行构建后的系统,并提供了调试应用程序和系统服务的方法。
327

被折叠的 条评论
为什么被折叠?



