本文最后更新于 855 天前,其中的信息可能已经有所发展或是发生改变。
内容目录
编译 webrtc_android
时,build_aar.py
运行时出现警告:
注:xxx.java 使用或覆盖了已过时的 API。
注:有关详细信息,请使用 -Xlint:deprecation 重新编译。
随即出现 python 的错误堆栈提示,编译停止并出现以下提示:
...
You can often set treat_warnings_as_errors=false to not treat output as failure (useful when developing locally).
[100/30872] ACTION //components/resour…d/toolchain/android:android_clang_armeabi-v7a)
...
根据提示推测原因是编译期间出现了警告信息,而 build_aar.py
会将警告视为错误而停止编译,但此处警告仅仅是使用了过时的 API,编译本身是没有出错的,于是按照提示添加参数 treat_warnings_as_errors=false
就好:
$ ./tools_webrtc/android/build_aar.py --extra-gn-args='treat_warnings_as_errors=false'
也可以直接在 build_aar.py
第 175 行(官方仓库 branch-heads/5301
分支)的 gn_args
数组中添加:
gn_args = {
'target_os': 'android',
'is_debug': False,
'is_component_build': False,
'rtc_include_tests': False,
'treat_warnings_as_errors': False,
'target_cpu': _GetTargetCpu(arch),
'use_goma': use_goma,
'use_remoteexec': use_remoteexec,
}
重新运行即可编译成功。