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 可能是系统级变量,第三方模块目录没有权限操作
解决方法:
参看,原因二
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2024-01-05 Python flask 网页版执行shell命令并返回结果['GET', 'POST'] 混合方式