【问题标题】:Porting AOSP to specific hardware device将 AOSP 移植到特定的硬件设备
【发布时间】:2015-10-08 03:24:18
【问题描述】:

更新:基于此以下问题:Create specific device tree for AOSP

我按照这个:https://source.android.com/source/building.html 设置了环境并下载了最新的 AOSP。现在我想在我的特定设备上刷它,比如 Galaxy S2。

  1. 在“配置 USB 访问:51-android.rules”中,它应该是什么样子?因为在上面的官方教程中,每个条目看起来像:

    //设备X的adb协议

    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="user"

    //设备X的fastboot协议

    SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="user"

    但在很多地方我发现了这个:

    SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev"

    当然将用户添加到plugdev组是显而易见的,但仍然:在Google的方式中,adb和fastboot有单独的条目,并且模式不同......

    看看这一步是否有效的终极测试是什么?

  2. 假设我为我的特定设备修改了正确的代码行和配置文件,如下所述:Android device configuration for AOSP。这意味着我有一个包含完整 AOSP 文件的目录。在$ lunch aosp_arm-eng阶段,具体的硬件设备应该有哪些参数?

  3. 现在假设我在输出目录中有构建和编译的 AOSP 文件。我应该如何在我的设备上闪烁它?谷歌上面的教程不是很清楚。我更喜欢只获取一个 zip 文件,以便通过 CWM 恢复等刷新它。

  4. 有没有办法在将结果刷入硬件设备之前对其进行测试(以减少变砖的机会...)?

谢谢,

【问题讨论】:

    标签: android android-source


    【解决方案1】:
    1. adb 规则是为了使 adb 能够通过 USB 工作。如果您可以通过 ADB 连接到您的设备,则 adb 规则有效。您可能需要在设备的开发者设置中启用 ADB。
    2. 同步 AOSP 后,您可以为您的设备构建。您可以在午餐菜单中选择您的设备。运行 build/setenv.sh 脚本。然后运行lunch。它将列出您可以选择的特定设备。您可以通过将新设备树同步到树中来添加到该列表。
    3. 默认情况下,它将构建您通过 fastboot 闪存的 system.imgs。如果您正在构建 AOSP,make otapackage 将制作一个可刷写的 zip。
    4. 构建将生成一个模拟器映像,您可以通过运行emulator 对其进行测试。这将使您大致了解您的构建是否有效,但不会为您提供有关您的特定设备的完整故事。例如,模拟器构建可能会运行,但如果您忘记添加正确的专有文件,则构建可能无法在您的特定设备上启动。但是你不太可能通过刷写 system.img 来硬化你的设备。

    【讨论】:

    • 当我运行午餐时,我有一些看起来像计算机架构列表(arm64 等)的列表,所以选择那个?因为如果是这样的话——好吧,假设所有配置文件在特定硬件上都是正确的,这似乎不是什么“大问题”——这基本上意味着对谷歌的官方教程做些小改动......
    • 您是否运行了``` source build/setenv.sh``` 脚本?它将查看您已拉入树中的所有设备树,并将它们添加到午餐菜单中。如果您没有将任何设备树添加到您的存储库,您将看不到任何设备。
    • 好的,我明白了.. 官方 Google AOSP 是否有特定设备的树或只有 Nexus..?一般来说:获取此文件的最佳做法是什么,即使可能为特定设备修改配置文件?我的意思是实际上如何逐步拉动它们?是否有其他存储库,例如CM、XDA 已经预定义文件?谢谢,
    • AOSP 支持仅正式用于 Nexus 设备。但是,是的,您可以通过 CyanogenMod 为几乎任何设备获得维护良好的设备树。不要忘记从实际手机中提取专有文件或使用 CyanogenMod 存储库。
    • 感谢您的帮助,我想我学得足够多,可以提出更具体的问题:stackoverflow.com/questions/31505474/…
    猜你喜欢
    • 2016-01-17
    • 1970-01-01
    • 2014-03-06
    • 2015-10-08
    • 2016-08-29
    • 1970-01-01
    • 2023-03-21
    • 2020-07-08
    • 1970-01-01
    相关资源
    最近更新 更多