【问题标题】:Add prebuilt APKs to Android AOSP system.img将预构建的 APK 添加到 Android AOSP system.img
【发布时间】:2020-07-13 05:47:35
【问题描述】:

我正在从源代码构建 AOSP。我想做的是在生成的 system.img 中包含一些预构建的文件作为制作过程的一部分。我试图找到创建 system.img 的实际文件并在那里添加几行。有什么想法吗?

提前谢谢你。

【问题讨论】:

标签: android android-source


【解决方案1】:

将自定义文件添加到system.img 的一个好方法是将它们添加到vendor/your_name/product_you_want_to_add_them/proprietary/your_files_go_here 下并添加一个名为device-product_name.mk 的自定义make 文件。

完成后,只需定义要从专有文件夹和内部复制哪些文件(例如,vendor/samsung/crespo/device-vendor.mk add 以调用您的设备生成文件)。

【讨论】:

    【解决方案2】:

    只需将您的源代码放到 Packages/apps 目录中,然后确保您的项目在 apps 目录中具有与其他项目一样的正确 make 文件。您将制作完成android构建后预构建的包。

    【讨论】:

    • 这将适用于我拥有的源代码,但我需要它用于预构建的 apk 文件。有什么想法吗?
    • 你的意思是你有一个没有源的apk?我在build/core/build-system.html 中找到了一些信息如何将另一个组件添加到构建中 - Android.mk 模板你有一个新库、一个新应用程序或 一个新的可执行文件 .对于每一种常见的模块类型,在模板目录下都有一个对应的文件。但是我的源代码中没有找到这个目录,希望对你有帮助。
    • 基本上,我正在尝试将 google 框架添加到我正在构建的模拟器中。当我在构建后自己添加它时它工作得很好,但是将它添加到 system.img 为时已晚。
    • 将谷歌框架添加到模拟器?我很困惑。无论如何,如果你只是想预建一个APK,你可以用系统签名密钥对APK进行签名**(我不确定执行make snod时是否会自动完成签名。),然后放在**out/target/product/system/app中,最后执行make snod。
    【解决方案3】:

    要将预构建文件添加到构建中,请找到一个对您的项目有意义的 .mk 文件并将该文件添加到 PRODUCT_COPY_FILE 下。看起来是这样的

     PRODUCT_COPY_FILE += your/build/tree/$FILE:path/to/location/on/device/$FILE
    

    使用单独的供应商树遵循良好的领域驱动原则......但对于单个二进制文件来说可能有点过分了。检查您已经使用的 makefile,通常已经添加了预构建的 apk,您可以使用它们。 device 和现有的 vendor 树木是开始寻找的好地方。在我看来,维护一个全新的项目并不是一件容易的事。

    【讨论】:

      【解决方案4】:

      如果你想在system.img中添加程序,去vendor,然后去operator,然后去app,进入app里面的文件 如果你使用roms修改程序,程序名称是rom helper,它修改prmission为0755,修改UserID为2000,从而将apk添加到rom中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-20
        • 2016-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多