1

我正在为多媒体机顶盒制作 froyo 图像。原图自带定制的mplayer,对SoC有硬件支持。Android 多媒体框架(音频/视频)完全被绕过,所有的播放都是用这个 mplayer 完成的。更糟糕的是,mplayer 是用 OSS 而不是 ALSA 编译的。我的中期目标是在android平台上集成alsa和dmix支持,编译支持alsa的mplayer,让android和mplayer可以同时播放。

同时我想改变原始图像上的小东西(主要是 UI、UX)。所以我想有两个分支。一张用于原始和略微改进的图像,另一张用于更大的 alsa 更改。alsa 分支将有一些其他的 git 存储库而不是原始存储库,例如 alsa 的东西。此外,一些 git 项目可能需要有自己的 alsa 实现分支(用于 alsa 输出的 mplayer、用于共享内存的仿生等)。因此,要在原始分支和 alsa 分支之间切换,我必须切换一些 git 存储库的分支,并且会有一些存储库,它们是 alsa 分支专有的。

我可以通过回购实现这一目标吗?这只是用 repo 开始一个 alsa 主题分支的问题吗?

您能否描述一下,您将如何为此设置 android 平台?任何提示表示赞赏。

干杯,亨里克

PS 为这个场景定义两个不同的产品有意义吗?

PPS 我已经在 android-porting google 组中问过这个问题:https ://groups.google.com/forum/?fromgroups=#!topic/android-porting/K0JmK9HFAVw

4

1 回答 1

1

在我看来,这听起来像是同一产品上的功能实现,而不是不同的产品。

如果所有必要的 git 都在所有分支上,您只需将受影响的 git 指向您的 ALSA 功能的正确分支。这可以通过local_manifest.xml.repo目录中添加一个来完成,它看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="platform/blah"/>
<project path="blah"
    name="platform/blah"
    revision="alsa-feature-branch"/>
</manifest>

然后,您将重新同步您的存储库并在您需要进行更改的 git 中启动主题分支。

一旦功能完成(甚至直接在主分支上进行功能开发),还可以将更改合并回您的主分支,并在您的产品 makefile 或system.prop文件中有一个标志来决定是否使用该功能或不。

于 2013-04-13T10:28:32.363 回答