为什么安卓aosp15打包system.img中无法包含没有在PRODUCT_PACKAGES定义的目标--学员作业

背景:

在以前学习马哥framework入门课程时候有讲解预制apk,一般apk或者native程序等,需要集成到系统都需要有如下两个步骤:
1、Apk或者native需要有自己的Android.mk,Android.bp要定义好自己的目标
在这里插入图片描述

2.该Module要被加入到PRODUCT_PACKAGES下面
在这里插入图片描述

但是经常我们有时候为了方便,自己写的一些简单的测试native,apk,可能只会进行的Module进行编译,不会把Moudle加入到PRODUCT_PACKAGES进行预制。
具体可以看看下面使用简单方式,看看aosp14和aosp15上面的差异。

aosp14和aosp15在make目标然后进行打包差异对比

简单说就是为了方便,只会make xxx目标,,一般都会在system/bin目录或者system/app目录有对应程序,然后触发一下系统打包system.img,emulator启动后就可以在设备上看到编译的目标
编译一下sound目标,本来系统不包含sound
在这里插入图片描述
上面完成后就可以在out/target/product/emulator_x86_64/system/bin/下看到sound的程序了
接下来要触发系统打包system.img,一般这里采用touch一个系统一定会编译的cpp文件,然后进行make

在这里插入图片描述
然后adb shell进入后明显可以看到确实system/bin下面有这个sound
在这里插入图片描述

但是上面一样的操作方式,然后在aosp15上结果如下:
在这里插入图片描述
然后进行更新和触发打包system.img
在这里插入图片描述
运行后adb shell查看是否有sound文件
在这里插入图片描述
可能有人怀疑没有触发打包成功,但是我们更新了AudioFlinger文件对应audioserver时间点就是最新的,所以不存在没有重新打包system
在这里插入图片描述

那这个到底是为啥,慢慢

作业要求

1、请找出一种方法可以让aosp15上不加入PRODUCT_PACKAGES也可以被打包到system.img的方法

2、请分析出google在打包这块有啥差异相比aosp14,这样做的目的是啥?

更多framework实战干货,请关注千里马学框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值