-
Notifications
You must be signed in to change notification settings - Fork 64
AndroidPlatformDevelopmentWorkflow
How to effectively develop when working on the Android platform. If you are using the standard Android SDK you have the luxury
of being able to deploy and debug packages from eclipse. If you are modifying the platform development gets a litte more difficult. First of all
not all the code you will be modifying does not necessarily ends up in a APK package. Secondly some components that end up in a package still might be using non-official Android APIs.
The naive approach is to run a full make of the whole platform and either create a sdk you can use or a target image for the device you are using. The approach developers are using is to download a standard SDK stater package and configure the emulator using environment variable to use the assets created in the android “out” directory. After checking out the source you need to select the android target you are targeting an setup some path and variables
1) Source build/envsetup.sh
2) Select target (lunch generic-eng) this also defines ANDROID_PRODUCT_OUT
3) build using “make”
4) start the emulator (emulator)
Now to continue development
6) modify source code
7) compile the modules you are working on using the “mm” shell function define when doing build/envsetup.sh
8) run adb sync to sync the out tree and the running targets (you also need to do a adb shell stop)(this should also work on a real device)
9) run make snod if you want to put your changes in the system image
Here is a graphical view of the process.
Workflow of Android Platform development
Sources:
The android platform group topic:How To Make Changes to Android Source (Now With More Questions)
ENEA Adroid blog post:Android Open Source Project workflow