Z:\rk-android13-20250818\device\rockchip\common\build\rockchip\Partitions.mk
#BOARD_SUPER_PARTITION_SIZE ?= 3263168512
BOARD_SUPER_PARTITION_SIZE ?= 4294967296
20260121给荣品RD-RK3588开发板的荣品Android13打包APK的时候出现问题3797897216 > 3263168512
2026/1/21 15:21
https://forlinx-book.yuque.com/rh74yu/rkword/tdufpunvumhp360n
OK3568 4.19.193 Android11 预安装应用的三种方式
OK3568 4.19.193 Android11 预安装应用的三种方式
免责声明
本手册版权归保定飞凌嵌入式技术有限公司所有。未经本公司的书面许可,任何单位和个人无权以任何形式复制、传播、转载本手册的任何部分,违者将被追究法律责任。
保定飞凌嵌入式有限公司所提供的所有服务内容旨在协助用户加速产品的研发进度,在服务过程中所提供的任何程序、文档、测试结果、方案、支持等资料和信息,都仅供参考,用户有权不使用或自行参考修改,本公司不提供任何的完整性、可靠性等保证,若在用户使用过程中因任何原因造成的特别的、偶然的或间接的损失,本公司不承担任何责任。
更新记录
日期
手册版本
更新内容
2025.09.28
V1.0
建档
需求背景
安卓系统预安装应用分为三种:
1.预安装不可卸载应用
2.预安装可永久卸载应用
3.预安装卸载后恢复出厂设置后自动恢复的应用
1. 源码修改方法
在OK3568-android11-source/device/rockchip/rk356x/ok3568_r目录下新建文件夹放置.apk
安装不可卸载应用创建文件夹preinstall
安装可永久卸载应用创建文件夹preinstall_del_forever
安装卸载后恢复出厂设置后自动恢复的应用创建文件夹preinstall_del
将apk文件放到对应文件夹中(apk文件名尽量用英文,并且名字中避免空格)
系统进行全编译烧写update.img镜像
参考编译手册进行全编译:
https://forlinx-book.yuque.com/rh74yu/ok3568/gtrckbvp7goesgrl#JqGnJ
烧写update.img镜像文件进行验证
2. 验证结果
不可卸载应用
可永久卸载应用
卸载后恢复出厂设置后自动恢复的应用
预安装卸载后恢复出厂设置后自动恢复的应用,将应用卸载后,按照 设置>系统>高级>重置选项>清除所有数据(恢复出厂设置)后应用自动恢复预安装。
3.附录
参考链接:https://blog.csdn.net/weixin_71092993/article/details/132454235
Android11 软件应用预安装
本文详细介绍了如何在RK3568设备上预安装不可卸载、可永久卸载和恢复出厂设置后自动恢复的应用,包括创建对应文件夹、放置APK文件、编译配置并确保烧录操作,附有软件应用预安装效果图。
预安装分为:
1、安装不可卸载应用;
2、安装可永久卸载应用;
3、安装卸载后恢复出厂设置后自动恢复的应用。
如何预安装:
以RK3568为例:
1、在AP3568/device/rockchip/rk356x/rk3568_r目录下,创建文件夹。
创建文件夹名为:preinstall (即为安装不可卸载应用)
创建文件夹名为:preinstall_del_forever(即为安装可永久卸载应用)
创建文件夹名为:preinstall_del (即为安装卸载后恢复出厂设置后自动恢复的应用)
AI写代码
2、创建文件夹后,将apk文件放入对应的文件夹。
注意:apk文件名尽量用英文,并且要避免空格。
3、编译、烧录
编译后的配置文件将会输出到odm分区($OUT/oem/),增加后需要确认烧写了odm.img来使其生效。
预安装效果:
软件应用预安装效果图
[ 34% 111/318] including external/rk_tee_user/v2/Android.mk ...
'building rk_tee_user v2'
[ 55% 177/318] including hardware/rockchip/audio/Android.mk ...
"BUILD_BISTREAM_TEST"
[ 56% 179/318] including hardware/rockchip/camera_engine_rkisp/Android.mk ...
TARGET_BOARD_PLATFORM=rk3588
[ 58% 186/318] including hardware/rockchip/libgralloc/utgard/Android.mk ...
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
[ 72% 231/318] including system/sepolicy/Android.mk ...
system/sepolicy/Android.mk:57: warning: BOARD_PLAT_PUBLIC_SEPOLICY_DIR has been deprecated. Use SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS instead.
system/sepolicy/Android.mk:62: warning: BOARD_PLAT_PRIVATE_SEPOLICY_DIR has been deprecated. Use SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS instead.
[100% 318/318] writing build rules ...
build/make/core/Makefile:72: warning: overriding commands for target `out/target/product/rk3588_t/vendor/lib64/libril.so'
build/make/core/base_rules.mk:533: warning: ignoring old commands for target `out/target/product/rk3588_t/vendor/lib64/libril.so'
[ 85% 7543/8792] Install: out/target/product/rk3588_t/vendor/lib/egl/libGLES_mali.so
/home/rootroot/MID_rk-android13-20250818
/home/rootroot/MID_rk-android13-20250818
[ 86% 7593/8792] Install: out/target/product/rk3588_t/vendor/lib64/egl/libGLES_mali.so
/home/rootroot/MID_rk-android13-20250818
/home/rootroot/MID_rk-android13-20250818
[ 90% 7933/8792] build out/target/product/rk3588_t/system/etc/event-log-tags
packages/apps/TvSettings/Settings/src/com/android/tv/settings/EventLogTags.logtags:6: warning: tag "lock_screen_type" (90200) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:6
packages/apps/TvSettings/Settings/src/com/android/tv/settings/EventLogTags.logtags:9: warning: tag "exp_det_device_admin_activated_by_user" (90201) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:9
packages/apps/TvSettings/Settings/src/com/android/tv/settings/EventLogTags.logtags:12: warning: tag "exp_det_device_admin_declined_by_user" (90202) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:12
packages/apps/TvSettings/Settings/src/com/android/tv/settings/EventLogTags.logtags:15: warning: tag "exp_det_device_admin_uninstalled_by_user" (90203) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:15
packages/apps/TvSettings/Settings/src/com/android/tv/settings/EventLogTags.logtags:18: warning: tag "settings_latency" (90204) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:18
[ 96% 8473/8792] Building dtbo img file out/target/product/rk3588_t/obj/FAKE/rockchip_dtbo_intermediates/rebuild-dtbo.img.
create image file: out/target/product/rk3588_t/obj/FAKE/rockchip_dtbo_intermediates/rebuild-dtbo.img...
Total 1 entries.
[ 99% 8737/8792] depmod out/target/product/rk3588_t/obj/PACKAGING/depmod_VENDOR_intermediates
depmod: WARNING: could not open modules.order at /home/rootroot/MID_rk-android13-20250818/out/target/product/rk3588_t/obj/PACKAGING/depmod_VENDOR_intermediates/lib/modules/0.0: No such file or directory
depmod: WARNING: could not open modules.builtin at /home/rootroot/MID_rk-android13-20250818/out/target/product/rk3588_t/obj/PACKAGING/depmod_VENDOR_intermediates/lib/modules/0.0: No such file or directory
[ 99% 8758/8792] Target empty super fs image: out/target/product/rk3588_t/super_empty.img
2026-01-20 17:12:48 - build_super_image.py - INFO : Building super image from info dict...
2026-01-20 17:12:48 - common.py - INFO : Running: "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/lpmake --metadata-size 65536 --super-name super --metadata-slots 2 --device super:3263168512 --group rockchip_dynamic_partitions:3258974208 --partition system:readonly:0:rockchip_dynamic_partitions --partition system_dlkm:readonly:0:rockchip_dynamic_partitions --partition system_ext:readonly:0:rockchip_dynamic_partitions --partition vendor:readonly:0:rockchip_dynamic_partitions --partition vendor_dlkm:readonly:0:rockchip_dynamic_partitions --partition odm:readonly:0:rockchip_dynamic_partitions --partition odm_dlkm:readonly:0:rockchip_dynamic_partitions --partition product:readonly:0:rockchip_dynamic_partitions --sparse --output out/target/product/rk3588_t/super_empty.img"
2026-01-20 17:12:48 - build_super_image.py - INFO : Done writing image out/target/product/rk3588_t/super_empty.img
[ 99% 8791/8792] Target super fs image for debug: out/target/product/rk3588_t/super.img
FAILED: out/target/product/rk3588_t/super.img
/bin/bash -c "(mkdir -p out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/ ) && (rm -rf out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"use_dynamic_partitions=true\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"lpmake=lpmake\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"build_super_partition=true\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"build_super_empty_partition=true\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"super_metadata_device=super\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"super_block_devices=super\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"super_super_device_size=3263168512\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"dynamic_partition_list= system system_dlkm system_ext vendor vendor_dlkm odm odm_dlkm product\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"super_partition_groups=rockchip_dynamic_partitions\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"super_rockchip_dynamic_partitions_group_size=3258974208\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt; echo \"super_rockchip_dynamic_partitions_partition_list= system system_dlkm system_ext vendor vendor_dlkm odm odm_dlkm product\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"super_partition_size=3263168512\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (echo \"system_image=out/target/product/rk3588_t/system.img\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt; echo \"system_dlkm_image=out/target/product/rk3588_t/system_dlkm.img\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt; echo \"system_ext_image=out/target/product/rk3588_t/system_ext.img\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt; echo \"vendor_image=out/target/product/rk3588_t/vendor.img\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt; echo \"vendor_dlkm_image=out/target/product/rk3588_t/vendor_dlkm.img\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt; echo \"odm_image=out/target/product/rk3588_t/odm.img\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt; echo \"odm_dlkm_image=out/target/product/rk3588_t/odm_dlkm.img\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt; echo \"product_image=out/target/product/rk3588_t/product.img\" >> out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt ) && (mkdir -p out/target/product/rk3588_t/ ) && (PATH=out/host/linux-x86/bin/:\$PATH out/host/linux-x86/bin/build_super_image -v out/target/product/rk3588_t/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt out/target/product/rk3588_t/super.img )"
2026-01-20 17:13:20 - build_super_image.py - INFO : Building super image from info dict...
2026-01-20 17:13:20 - common.py - INFO : Running: "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/lpmake --metadata-size 65536 --super-name super --metadata-slots 2 --device super:3263168512 --group rockchip_dynamic_partitions:3258974208 --partition system:readonly:1147056128:rockchip_dynamic_partitions --image system=out/target/product/rk3588_t/system.img --partition system_dlkm:readonly:262144:rockchip_dynamic_partitions --image system_dlkm=out/target/product/rk3588_t/system_dlkm.img --partition system_ext:readonly:177864704:rockchip_dynamic_partitions --image system_ext=out/target/product/rk3588_t/system_ext.img --partition vendor:readonly:411258880:rockchip_dynamic_partitions --image vendor=out/target/product/rk3588_t/vendor.img --partition vendor_dlkm:readonly:26951680:rockchip_dynamic_partitions --image vendor_dlkm=out/target/product/rk3588_t/vendor_dlkm.img --partition odm:readonly:1747275776:rockchip_dynamic_partitions --image odm=out/target/product/rk3588_t/odm.img --partition odm_dlkm:readonly:262144:rockchip_dynamic_partitions --image odm_dlkm=out/target/product/rk3588_t/odm_dlkm.img --partition product:readonly:286965760:rockchip_dynamic_partitions --image product=out/target/product/rk3588_t/product.img --sparse --output out/target/product/rk3588_t/super.img"
2026-01-20 17:13:20 - build_super_image.py - ERROR :
ERROR:
Traceback (most recent call last):
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/build_super_image/build_super_image.py", line 219, in <module>
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/build_super_image/build_super_image.py", line 213, in main
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/build_super_image/build_super_image.py", line 198, in BuildSuperImage
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/build_super_image/build_super_image.py", line 141, in BuildSuperImageFromDict
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/build_super_image/common.py", line 313, in RunAndCheckOutput
raise ExternalError(
common.ExternalError: Failed to run command '['lpmake', '--metadata-size', '65536', '--super-name', 'super', '--metadata-slots', '2', '--device', 'super:3263168512', '--group', 'rockchip_dynamic_partitions:3258974208', '--partition', 'system:readonly:1147056128:rockchip_dynamic_partitions', '--image', 'system=out/target/product/rk3588_t/system.img', '--partition', 'system_dlkm:readonly:262144:rockchip_dynamic_partitions', '--image', 'system_dlkm=out/target/product/rk3588_t/system_dlkm.img', '--partition', 'system_ext:readonly:177864704:rockchip_dynamic_partitions', '--image', 'system_ext=out/target/product/rk3588_t/system_ext.img', '--partition', 'vendor:readonly:411258880:rockchip_dynamic_partitions', '--image', 'vendor=out/target/product/rk3588_t/vendor.img', '--partition', 'vendor_dlkm:readonly:26951680:rockchip_dynamic_partitions', '--image', 'vendor_dlkm=out/target/product/rk3588_t/vendor_dlkm.img', '--partition', 'odm:readonly:1747275776:rockchip_dynamic_partitions', '--image', 'odm=out/target/product/rk3588_t/odm.img', '--partition', 'odm_dlkm:readonly:262144:rockchip_dynamic_partitions', '--image', 'odm_dlkm=out/target/product/rk3588_t/odm_dlkm.img', '--partition', 'product:readonly:286965760:rockchip_dynamic_partitions', '--image', 'product=out/target/product/rk3588_t/product.img', '--sparse', '--output', 'out/target/product/rk3588_t/super.img']' (exit code 70):
lpmake I 01-20 17:13:20 44299 44299 builder.cpp:1093] [liblp]Partition system will resize from 0 bytes to 1147056128 bytes
lpmake I 01-20 17:13:20 44299 44299 builder.cpp:1093] [liblp]Partition system_dlkm will resize from 0 bytes to 262144 bytes
lpmake I 01-20 17:13:20 44299 44299 builder.cpp:1093] [liblp]Partition system_ext will resize from 0 bytes to 177864704 bytes
lpmake I 01-20 17:13:20 44299 44299 builder.cpp:1093] [liblp]Partition vendor will resize from 0 bytes to 411258880 bytes
lpmake I 01-20 17:13:20 44299 44299 builder.cpp:1093] [liblp]Partition vendor_dlkm will resize from 0 bytes to 26951680 bytes
lpmake E 01-20 17:13:20 44299 44299 builder.cpp:664] [liblp]Partition odm is part of group rockchip_dynamic_partitions which does not have enough space free (1747275776 requested, 1763393536 used out of 3258974208)
Not enough space on device for partition odm with size 1747275776
[100% 8792/8792] build out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/check_all_partition_sizes.log
FAILED: out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/check_all_partition_sizes.log
/bin/bash -c "(mkdir -p out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/ ) && (rm -f out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"use_dynamic_partitions=true\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"lpmake=lpmake\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"build_super_partition=true\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"build_super_empty_partition=true\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"super_metadata_device=super\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"super_block_devices=super\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"super_super_device_size=3263168512\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"dynamic_partition_list= system system_dlkm system_ext vendor vendor_dlkm odm odm_dlkm product\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"super_partition_groups=rockchip_dynamic_partitions\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"super_rockchip_dynamic_partitions_group_size=3258974208\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt; echo \"super_rockchip_dynamic_partitions_partition_list= system system_dlkm system_ext vendor vendor_dlkm odm odm_dlkm product\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"super_partition_size=3263168512\" >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (echo \"system_image=\"out/target/product/rk3588_t/system.img >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt; echo \"system_dlkm_image=\"out/target/product/rk3588_t/system_dlkm.img >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt; echo \"system_ext_image=\"out/target/product/rk3588_t/system_ext.img >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt; echo \"vendor_image=\"out/target/product/rk3588_t/vendor.img >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt; echo \"vendor_dlkm_image=\"out/target/product/rk3588_t/vendor_dlkm.img >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt; echo \"odm_image=\"out/target/product/rk3588_t/odm.img >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt; echo \"odm_dlkm_image=\"out/target/product/rk3588_t/odm_dlkm.img >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt; echo \"product_image=\"out/target/product/rk3588_t/product.img >> out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt ) && (out/host/linux-x86/bin/check_partition_sizes --logfile out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/check_all_partition_sizes.log out/target/product/rk3588_t/obj/PACKAGING/check-all-partition-sizes_intermediates/misc_info.txt )"
Traceback (most recent call last):
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/internal/stdlib/runpy.py", line 196, in _run_module_as_main
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/internal/stdlib/runpy.py", line 86, in _run_code
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/__main__.py", line 12, in <module>
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/internal/stdlib/runpy.py", line 196, in _run_module_as_main
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/internal/stdlib/runpy.py", line 86, in _run_code
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/check_partition_sizes.py", line 302, in <module>
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/check_partition_sizes.py", line 296, in main
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/check_partition_sizes.py", line 284, in CheckPartitionSizes
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/check_partition_sizes.py", line 276, in Run
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/check_partition_sizes.py", line 233, in _CheckAllPartitionSizes
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/check_partition_sizes.py", line 168, in _CheckSumOfPartitionSizes
File "/home/rootroot/MID_rk-android13-20250818/out/host/linux-x86/bin/check_partition_sizes/check_partition_sizes.py", line 62, in CheckLe
RuntimeError: sum of sizes of ['system', 'system_dlkm', 'system_ext', 'vendor', 'vendor_dlkm', 'odm', 'odm_dlkm', 'product'] is greater than BOARD_SUPER_PARTITION_SIZE:
1147056128+262144+177864704+411258880+26951680+1747275776+262144+286965760 == 3797897216 > 3263168512 == 3263168512
17:13:21 ninja failed with: exit status 1
#### failed to build some targets (03:21 (mm:ss)) ####
Build android failed!
rootroot@rootroot-X99-Turbo:~/MID_rk-android13-20250818$
【修改步骤:】
Z:\MID_rk-android13-20250818\device\rockchip\common\build\rockchip\Partitions.mk
Z:\rk3588s-android13-20250818\device\rockchip\common\build\rockchip\Partitions.mk
#
# Copyright 2021 Rockchip Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
ROCKCHIP_READ_ONLY_FILE_SYSTEM_TYPE ?= ext4
endif
BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := $(ROCKCHIP_READ_ONLY_FILE_SYSTEM_TYPE)
# Add standalone vendor partition configrations
TARGET_COPY_OUT_VENDOR := vendor
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := $(ROCKCHIP_READ_ONLY_FILE_SYSTEM_TYPE)
# Add standalone odm partition configrations
TARGET_COPY_OUT_ODM := odm
BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := $(ROCKCHIP_READ_ONLY_FILE_SYSTEM_TYPE)
TARGET_USERIMAGES_USE_EXT4 ?= true
TARGET_USERIMAGES_USE_F2FS ?= false
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE ?= ext4
# use ext4 cache for OTA
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE ?= ext4
# Add standalone metadata partition
BOARD_USES_METADATA_PARTITION ?= true
#Calculate partition size from parameter.txt
USE_DEFAULT_PARAMETER := $(shell test -f $(TARGET_DEVICE_DIR)/parameter.txt && echo true)
ifeq ($(strip $(USE_DEFAULT_PARAMETER)), true)
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
BOARD_SUPER_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt super)
BOARD_ROCKCHIP_DYNAMIC_PARTITIONS_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_SIZE) - 4194304)
else
BOARD_SYSTEMIMAGE_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt system)
BOARD_VENDORIMAGE_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt vendor)
BOARD_ODMIMAGE_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt odm)
endif
BOARD_CACHEIMAGE_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt cache)
BOARD_BOOTIMAGE_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt boot)
BOARD_DTBOIMG_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt dtbo)
BOARD_RECOVERYIMAGE_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt recovery)
# Header V3, add vendor_boot
ifeq ($(BOARD_BUILD_GKI),true)
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := $(shell python device/rockchip/common/get_partition_size.py $(TARGET_DEVICE_DIR)/parameter.txt vendor_boot)
endif
#$(info Calculated BOARD_SYSTEMIMAGE_PARTITION_SIZE=$(BOARD_SYSTEMIMAGE_PARTITION_SIZE) use $(TARGET_DEVICE_DIR)/parameter.txt)
else
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
ifeq ($(BUILD_WITH_GO_OPT), true)
BOARD_SUPER_PARTITION_SIZE ?= 2516582400
else
#BOARD_SUPER_PARTITION_SIZE ?= 3263168512
BOARD_SUPER_PARTITION_SIZE ?= 4294967296
endif
BOARD_ROCKCHIP_DYNAMIC_PARTITIONS_SIZE ?= $(shell expr $(BOARD_SUPER_PARTITION_SIZE) - 4194304)
else
BOARD_SYSTEMIMAGE_PARTITION_SIZE ?= 2726297600
BOARD_VENDORIMAGE_PARTITION_SIZE ?= 536870912
BOARD_ODMIMAGE_PARTITION_SIZE ?= 134217728
endif
BOARD_CACHEIMAGE_PARTITION_SIZE ?= 402653184
BOARD_RECOVERYIMAGE_PARTITION_SIZE ?= 100663296
BOARD_DTBOIMG_PARTITION_SIZE ?= 4194304
# Header V3, add vendor_boot
ifeq ($(BOARD_BUILD_GKI),true)
BOARD_BOOTIMAGE_PARTITION_SIZE ?= 67108864
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE ?= 41943040
BOARD_RESOURCEIMAGE_PARTITION_SIZE ?= 16777216
else
BOARD_BOOTIMAGE_PARTITION_SIZE ?= 41943040
endif
ifneq ($(strip $(TARGET_DEVICE_DIR)),)
#$(info $(TARGET_DEVICE_DIR)/parameter.txt not found! Use default BOARD_SYSTEMIMAGE_PARTITION_SIZE=$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))
endif
endif
https://chat.deepseek.com/a/chat/s/f917e7b1-cb03-4ee4-9f17-c46b07222482
从错误日志可以看出,动态分区组(rockchip_dynamic_partitions)的总大小是 3258974208 bytes (约3.1GB),但所有分区实际需要的空间总和是 3797897216 bytes (约3.6GB),超出了约540MB。
这是因为你增加了一个内置APK后,分区(很可能是 system 或 odm 分区)体积变大了。以下是几种解决方案:
解决方案:
1. 调整动态分区大小(推荐)
在 BoardConfig.mk 文件中增大动态分区组的大小:
makefile
# 找到并修改以下配置
BOARD_SUPER_PARTITION_SIZE := 4294967296 # 从3263168512增加到4GB
BOARD_ROCKCHIP_DYNAMIC_PARTITIONS_SIZE := 4290772992 # 从3258974208增加
# 或者按照你实际需要的空间设置
# 当前需要的总和是3797897216,建议留一些余量
BOARD_SUPER_PARTITION_SIZE := 3950000000
BOARD_ROCKCHIP_DYNAMIC_PARTITIONS_SIZE := 3940000000