android中使用local_manifest.xml添加软件

http://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Android  中有使用local_manifest.xml来添加PulseAudio的实例,其中local_manifest.xml已经写好了:

wget http://people.collabora.com/~arun/android/local_manifest.xml -O .repo/local_manifest.xml


《Why I cannot download kernel?》 https://groups.google.com/forum/?fromgroups=#!topic/android-kernel/oufVYqq0OlA

讲述了使用local_manifest.xml下载kernel:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project path="kernel/common" name="kernel/common" revision="refs/heads/android-2.6.39" />
  <project path="kernel/goldfish" name="kernel/goldfish" revision="refs/heads/android-goldfish-2.6.29" />
</manifest>

还有下面的文章教你怎么使用local_manifest.xml:

《Using the local_manifest.xml file in repo to customize your Android project setup》:http://www.androidenea.com/2010/06/using-localmanifestxml-file-in-repo-to.html


This post will discuss how to use repo and the local_manifest.xml file to keep track of projects that are not part of the default manifest for the Android open source project. This can be used to keep track of some projects that are maintained by the Android team but are not included in the default distribution. It can also be used to include other git-based projects within your android platform source tree. Adding a local manifest file is a good way to set up a personalized environment to work with Android for hacking or in a small team. Any additions to Android can be kept in separate git repositories and tracked using the local manifest. For commercial level projects it may be better to run your own repo server and edit the manifest directly to make sure that it is version controlled and that all developers see the same projects. We may get back to that topic in a separate blog post.

Now let's take a look at the practical details. The format of the local manifest file follows the standard manifest format described in the manifest-format.txt file under.repo/repo/docs in the Android Open Source project.To create a local manifest add a file with the name local_manifest.xml and place it directly in the .repo folder of your Android Open Source Project. It will be parsed by repo as part of a normal repo sync.

I keep a project on machine to track the latest development in the Android platform. It is setup to track the current master branch in the default configuration. Since I often work with hardware as well I am also interested in developments in the kernel. Currently there are a number of different kernel trees being run as part of android. None of them are part of the default manifest. In my setup I want to track the common kernel but also see what is going on with hardware support for Qualcomm (msm) and TI (omap) platforms. These are all maintained by the android team and I can use the default remote site to get them. I need however to inform repo about what branch I want to track by adding the revision tag. For each project add a tag like this:

<project path="kernel"
name="kernel/common"
remote="korg"
revision="android-goldfish-2.6.29"/>

Another thing I also find myself using is Busybox and since I set it up the build config and do some adaptations when using it with Android I like to track the source for that as well within my Android tree. This can easily be achieved in the local manifest by adding a new remote site for Busybox and then adding the project itself like this:
<remote name="busybox"
fetch="git://git.busybox.net/"/>
<project path="busybox"
name="busybox"
remote="busybox"/>

To sum things up this means that each time I do a repo sync I will get the latest version of the Android Open source project and also updated repositories for the three different kernel trees that I track and an updated busybox source. All in all my local_manifest file looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>

<remote name="busybox"
fetch="git://git.busybox.net/"/>

<project path="kernel"
name="kernel/common"
remote="korg"
revision="android-goldfish-2.6.29"/>
<project path="kernel_msm"
name="kernel/msm"
remote="korg"
revision="android-msm-2.6.32"/>
<project path="kernel_omap"
name="kernel/omap"
remote="korg"
revision="android-omap-2.6.32"/>
<project path="busybox"
name="busybox"
remote="busybox"/>
</manifest>


/Mattias






你可能感兴趣的:(android中使用local_manifest.xml添加软件)