如何在android源文件中进行更改后重建android源代码

时间:2010-11-01 20:26:22

标签: android android-source

我的系统中有android源代码,工作正常。但是当我在android源文件中进行一些更改并运行“make”时,它不会生成/更新任何文件 如果我错了,请纠正我,

i)如果对源代码进行了更改,系统应该生成一个新的system.img文件

ii)即使我们对源代码进行任何更改,android内核文件-zImage文件也不会随着任何更改而改变

另一个问题,如果我在/ libcore中创建一个新的库文件夹,它会在编译时自动获取。为了在/ libcore之外创建一个新的库文件夹,我在/build/core/main.mk和.classpath文件中添加了它的路径。在编译过程中仍然没有得到它。有人可以确认在/ libcore

之外添加新库文件所需要做的更改

此致 约杰什

2 个答案:

答案 0 :(得分:10)

这取决于您已检出的确切存储库。但是对于他们中的大多数人来说,下面的方法可行:

http://source.android.com/source/download.html

注意,如果您使用的是最新版本,则必须具有64位系统

更新:由于某种原因,上面的页面缺少一些重要的步骤。所以他们在这里

完成“repo sync”步骤后(需要一段时间,但我假设您已经拥有源文件),请执行以下操作:

$ . build/envsetup.sh
$ lunch

最后一个命令将为您提供要构建的平台的选项列表。如果你想为模拟器构建,请选择full-eng。否则,请为您的特定设备供应商选择一个。

选择平台后,请确保先完成所有内容,因为整个Android平台非常相互依赖。因此,您需要确保拥有所有组件。

开发时,您可以非常快速地构建单个组件。使用以下命令:

mmm <component_directory_name>

例如:

mmm external/rsync

此外,构建系统不会更改输出和中间文件与源代码。一切都进入了/目标目录。

答案 1 :(得分:4)

这取决于您想要进行的更改。

在一个简单的情况下,如果更改是本地的(例如,将一些新行添加到名为xxx.c的现有android源文件中),则可以轻松运行:

mm -B (under the root directory of xxx.c)
adb remount
adb sync
adb reboot

在其他情况下,比如说,您创建一个新的系统服务来替换在启动时启动的旧系统服务,如init.rc文件中所示。然后,您可能需要:

  1. 更新init.rc档案
  2. 构建整个android源码
  3. Flash新图片