Downloading the Source Tree
Installing Repo
Repo is a tool that makes it easier to work with Git in the context of AndroidTo install, initialize, and configure Repo, follow these steps:
- Make sure you have a bin/ directory in your home directory,
and that it is included in your path:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
- Download the Repo script and ensure it is executable:
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
- For version 1.17, the SHA-1 checksum for repo is
ddd79b6d5a7807e911b524cb223bc3544b661c28
Initializing a Repo client
After installing Repo, set up your client to access the android source repository:- Create an empty directory to hold your working files. If
you're using MacOS, this has to be on a case-sensitive filesystem.
Give it any name you like:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
- Run
repo init
to bring down the latest version of Repo with all its most recent bug fixes. You must specify a URL for the manifest, which specifies where the various repositories included in the Android source will be placed within your working directory.
To check out a branch other than "master", specify it with -b:$ repo init -u https://android.googlesource.com/platform/manifest
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
- When prompted, please configure Repo with your real name and
email address. To use the Gerrit code-review tool, you will need an
email address that is connected with a registered
Google account. Make sure this is a live address at which you
can receive messages. The name that you provide here will show up in
attributions for your code submissions.
.repo
directory
where files such as the manifest will be kept.Getting the files
To pull down files to your working directory from the repositories as specified in the default manifest, run$ repo sync
The Android source files will be located in your working directory
under their project names. The initial sync operation will take an
hour or more to complete. For more about repo
sync
and other Repo commands, see Version
Control.Using authentication
By default, access to the Android source code is anonymous. To protect the servers against excessive usage, each IP address is associated with a quota.When sharing an IP address with other users (e.g. when accessing the source repositories from beyond a NAT firewall), the quotas can trigger even for regular usage patterns (e.g. if many users sync new clients from the same IP address within a short period).
In that case, it is possible to use authenticated access, which then uses a separate quota for each user, regardless of the IP address.
The first step is to create a password from the password generator and to save it in
~/.netrc
according to the instructions on that page.The second step is to force authenticated access, by using the following manifest URI:
https://android.googlesource.com/a/platform/manifest
.
Notice how the /a/
directory prefix
triggers mandatory authentication. You can convert an existing client
to use mandatory authentication with the following command:$ repo init -u https://android.googlesource.com/a/platform/manifest
Building the System
The basic sequence of build commands is as follows:Initialize
Initialize the environment with theenvsetup.sh
script. Note that replacing "source" with a single dot
saves a few characters, and the short form is more commonly used in
documentation.$ source build/envsetup.sh
or$ . build/envsetup.sh
Choose a Target
Choose which target to build withlunch
.
The exact configuration can be passed as an argument, e.g.
$ lunch full-eng
The example above refers to a complete build for the emulator, with
all debugging enabled.Build the Code
Build everything withmake
. GNU make
can handle parallel tasks with a -jN
argument, and it's common to use a number of tasks N that's between 1
and 2 times the number of hardware threads on the computer being used
for the build. E.g. on a dual-E5520 machine (2 CPUs, 4 cores per CPU,
2 threads per core), the fastest builds are made with commands
between make -j16
and make
-j32
.$ make -j4
Run It!
You can either run your build on an emulator or flash it on a device. Please note that you have already selected your build target withlunch
, and it is unlikely at best
to run on a different target than it was built for.Emulate an Android Device
The emulator is added to your path automatically by the build process. To run the emulator, type$ emulator
Trouble Shooting
I got the following error while
building
make: ***
[out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1
I
fixed it by installing following package:
sudo
apt-get install lib32ncurses5-dev
sudo apt-get install libncurses5-dev
sudo apt-get install libncurses5-dev
Before
running the emulator change the permission of file
chmod
777 /home/surabhi/Android/out/target/product/generic/system.img
More details can be found at the following Link :
No comments:
Post a Comment