Android13编译报错 PRODUCT_PACKAGES error cannot assign to readonly variable

前言全局说明

Android13编译报错 PRODUCT_PACKAGES readonly variable


一、说明

1.1 环境:

Android 13

二、问题

高通定制版 Android 13里增加第三方模块,将家哟加入的模块 写入到 config.mk 中,使用 PRODUCT_PACKAGES 变量,将要打包的模块告诉系统。

并将 config.mk 加入到上层的 Android.mk 中。

但编译过程成中提示 "PRODUCT_PACKAGES error cannot assign to readonly variable"


三、 config.mk 文件内容

CONFIG_APP := true
ifeq ($(CONFIG_APP), true)
PRODUCT_PACKAGES += qtxa-comm
endif

四、问题分析

4.1 原因一:

问题:

第三方文件放置的位置不对,不是官方推荐的路径。

解决方法:

第三方模块,通常会放到
vendor/<公司名>/prebuilts/third_party/<项目名>/<第三方模块文件夹>

4.2 原因二:

问题:

config.mk 文件想要Android编译调用时,可能出现在不合适的位置,
可能是系统模块或其他第三方模块还没编译完,检测到 config.mk 又加入继续编译。

解决方法:

在源码 device/google/raviole/device-oriole.mk

在源码 device/<公司名>/<项目名>/ 目录下的 atlas.mk、device.mk 和 device_qssi.mk 里尝试添加调用config.mk 。
推荐先在device.mk里尝试,

注意:加入位置不要写到别的模块 ifeq 判断里

4.2 原因三:

问题:

PRODUCT_PACKAGES 可能是系统级变量,第三方模块目录没有权限操作

解决方法:
参看,原因二



免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:



posted @   悟透  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2024-01-05 Python flask 网页版执行shell命令并返回结果['GET', 'POST'] 混合方式
点击右上角即可分享
微信分享提示