泰安网站建设总结,30岁学设计师晚不晚,建设企业网站公司在哪里,招聘网站开发计划简介#xff1a; CSDN博客专家#xff0c;专注Android/Linux系统#xff0c;分享多mic语音方案、音视频、编解码等技术#xff0c;与大家一起成长#xff01; 优质专栏#xff1a;Audio工程师进阶系列【原创干货持续更新中……】#x1f680; 人生格言#xff1a; 人生… 简介 CSDN博客专家专注Android/Linux系统分享多mic语音方案、音视频、编解码等技术与大家一起成长 优质专栏Audio工程师进阶系列【原创干货持续更新中……】 人生格言 人生从来没有捷径只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注Android系统攻城狮 1.前言 本篇目的解决Android12编译报错error: BUILD_COPY_HEADERS is obsolete。 2.报错 error: BUILD_COPY_HEADERS is obsolete. See https://android.googlesource.com/platform/build//master/Changes.md#copy_headers. 21:33:52 ckati failed with: exit status 1 3.BUILD_COPY_HEADERS/LOCAL_COPY_HEADERS描述
build/make/Changes.md
## COPY_HEADERS usage now produces warnings {#copy_headers}Weve considered BUILD_COPY_HEADERS/LOCAL_COPY_HEADERS to be deprecated for
a long time, and the places where its been able to be used have shrinked over
the last several releases. Equivalent functionality is not available in Soong.See the [build/soong/docs/best_practices.md#headers] for more information about
how best to handle headers in Android.4.BUILD_COPY_HEADERS/LOCAL_COPY_HEADERS具体替代方案描述
build/soong/docs/best_practices.md
## HeadersLOCAL_COPY_HEADERS is deprecated. Soong modules cannot use these headers, and
when the VNDK is enabled, System modules in Make cannot declare or use them
either.The set of global include paths provided by the build system is also being
removed. Theyve been switched from using -isystem to -I already, and are
removed entirely in some environments (vendor code when the VNDK is enabled).Instead, use LOCAL_EXPORT_C_INCLUDE_DIRS/export_include_dirs. These allow
access to the headers automatically if you link to the associated code.If your library uses LOCAL_EXPORT_C_INCLUDE_DIRS/export_include_dirs, and
the exported headers reference a library that you link to, use
LOCAL_EXPORT_SHARED_LIBRARY_HEADERS/LOCAL_EXPORT_STATIC_LIBRARY_HEADERS/LOCAL_EXPORT_HEADER_LIBRARY_HEADERS
(export_shared_lib_headers/export_static_lib_headers/export_header_lib_headers)
to re-export the necessary headers to your users.Dont use non-local paths in your LOCAL_EXPORT_C_INCLUDE_DIRS, use one of the
LOCAL_EXPORT_*_HEADERS instead. Non-local exported include dirs are not
supported in Soong. You may need to either move your module definition up a
directory (for example, if you have ./src/ and ./include/, you probably want to
define the module in ./Android.bp, not ./src/Android.bp), define a header
library and re-export it, or move the headers into a more appropriate location.Prefer to use header libraries (BUILD_HEADER_LIBRARY/ cc_library_headers)
only if the headers are actually standalone, and do not have associated code.
Sometimes there are headers that have header-only sections, but also define
interfaces to a library. Prefer to split those header-only sections out to a
separate header-only library containing only the header-only sections, and
re-export that header library from the existing library. This will prevent
accidentally linking more code than you need (slower at build and/or runtime),
or accidentally not linking to a library thats actually necessary.Prefer LOCAL_EXPORT_C_INCLUDE_DIRS over LOCAL_C_INCLUDES as well.
Eventually wed like to remove LOCAL_C_INCLUDES, though significant cleanup
will be required first. This will be necessary to detect cases where modules
are using headers that shouldnt be available to them -- usually due to the
lack of ABI/API guarantees, but for various other reasons as well: layering
violations, planned deprecations, potential optimizations like C modules,
etc.5.如何解决 include $(BUILD_COPY_HEADERS) 修改为 include $(BUILD_BROKEN_USES_BUILD_COPY_HEADERS)