6

当 Nexus 5 在我的国家上市时,我将购买它。然后我想对 Android 源代码进行更改(主要是 UI)并在我的手机上运行它。

我的问题是:如何最快地测试我修改过的代码?每次更改手机后,我是否需要编译并创建一个 ROM 并刷新它,或者我可以使用模拟器并“快速构建”它吗?

澄清一下:我将下载 Android 源代码并对其进行修改。我将更改 UI 内容以使其适合我。之后我想测试我写的东西,最好是在设备中,但模拟器也是可行的。

我想测试Android平台的变化。因为我修改了源代码,所以我必须创建一个 ROM 并将其闪存到设备上,因为 Android 系统不能作为 .apk 安装。

测试更改的最快方法是什么?每次我对源代码进行更改时都必须创建一个 ROM 并刷新它会很烦人,例如测试我的新 UI 是否相应地工作。

有什么方法可以更快地做到这一点吗?

4

2 回答 2

5

这取决于您在哪个级别进行更改。如果您正在进行 frameworks/base/core 更改,那么您可以导航到 AOSP 项目的 frameworks/base/core 部分并通过执行增量构建(确保您初始化构建环境:.build/envsetup.sh 在AOSP 源目录的根目录):

mm -B

这将构建您所在的组件,这将是框架的 framework.jar/ext.jar/etc

编译完成后,您可以执行以下操作(在编译期间注意错误):

adb root;
adb remount;
adb sync;
adb shell stop;
adb shell start

这将更新设备上的框架 jar 文件,然后您应该能够看到您的更改。

笔记

当您当前的构建与您正在构建的AOSP代码相同时,这才有效,否则您必须将 framework.jar 文件推送到设备的 system/framework/ 部分(需要 root)。

于 2013-11-08T09:02:32.917 回答
0

我认为修改后最好重新编译整个源代码。
我建议使用AOSP而不是破解工厂映像,不需要 ROM,只需使用 ADB刷新即可。
第一次构建会占用大量的时间和空间,但是android构建系统在rebuild时只会构建修改后的代码。
注意:默认情况下 GPS、Sensor 不起作用,因为 AOSP 中不包含第三方设备驱动程序。

于 2013-11-08T08:45:58.373 回答