3566 安卓编译无原因报错
编译错误日志如下:
[ 96% 101537/105371] //frameworks/base:module-lib-api-stubs-docs metalava merged [common]
metalava detected access to files that are not explicitly specified. See /mnt/hdd/rk3566/rk3566_rk_android11.0_sdk/out/soong/.intermediates/frameworks/base/module-lib-api-stubs-docs/android_common/module-lib-api-stubs-docs-violations.txt for details.
[ 96% 101538/105371] //frameworks/base:module-lib-api-stubs-docs-non-updatable metalava merged [common]
metalava detected access to files that are not explicitly specified. See /mnt/hdd/rk3566/rk3566_rk_android11.0_sdk/out/soong/.intermediates/frameworks/base/module-lib-api-stubs-docs-non-updatable/android_common/module-lib-api-stubs-docs-non-updatable-violations.txt for details.
[ 96% 101539/105371] //frameworks/base:api-stubs-docs-non-updatable metalava merged [common]
metalava detected access to files that are not explicitly specified. See /mnt/hdd/rk3566/rk3566_rk_android11.0_sdk/out/soong/.intermediates/frameworks/base/api-stubs-docs-non-updatable/android_common/api-stubs-docs-non-updatable-violations.txt for details.
[ 96% 101540/105371] //frameworks/base:system-api-stubs-docs-non-updatable metalava merged [common]
metalava detected access to files that are not explicitly specified. See /mnt/hdd/rk3566/rk3566_rk_android11.0_sdk/out/soong/.intermediates/frameworks/base/system-api-stubs-docs-non-updatable/android_common/system-api-stubs-docs-non-updatable-violations.txt for details.
[ 96% 101541/105371] //frameworks/base:api-stubs-docs metalava merged [common]
metalava detected access to files that are not explicitly specified. See /mnt/hdd/rk3566/rk3566_rk_android11.0_sdk/out/soong/.intermediates/frameworks/base/api-stubs-docs/android_common/api-stubs-docs-violations.txt for details.
22:11:36 ninja failed with: exit status 1
#### failed to build some targets (04:52:30 (hh:mm:ss)) ####
Build android failed!
➜ rk3566_rk_android11.0_sdk git:(HL-T3566A)
看起来错误和metalava工具在生成API文档时访问了未在构建规则中显式声明的文件相关:
metalava detected access to files that are not explicitly specified.
但是问题在于,这份源码是编译成功过的,上述问题不应该存在,在谷歌搜索也找不到比较相关的内容。
查看内存发现,64G的内存只剩下28G,多为各个SSH的vscode占用,且swap被完全使用,推测可能是内存爆了,构建过程中被kill掉了某些工具,于是清理内存后重新编译,结果成功。
查看日志可以看到相关爆内存的日志:
grep -i "out of memory" /var/log/syslog
Jul 22 12:04:55 hw-Default-string kernel: [13657495.823765] Out of memory: Killed process 1969344 (cpptools) total-vm:8803688kB, anon-rss:8722640kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:17880kB oom_score_adj:0
Jul 22 12:05:38 hw-Default-string kernel: [13657539.117336] Out of memory: Killed process 2277354 (java) total-vm:21032768kB, anon-rss:5596188kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:11856kB oom_score_adj:0
Jul 22 12:06:59 hw-Default-string kernel: [13657620.279647] Out of memory: Killed process 2277351 (java) total-vm:20902712kB, anon-rss:6451612kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:13492kB oom_score_adj:0
考虑暂时增加下swap大小解决,物理内存64GB的情况下,swap考虑大小为32GB。
留下评论