Chromium for android 编译注意事项

Chromium for android 编译注意事项
  1. 编译Chromium时默认是不支持MP3,MP4格式的,所以编译出来的版本是无法播放音频和视频的,如果要播放时,就会产生这样的error log:
PIPELINE_ERROR DEMUXER_ERROR_NO_SUPPORTED_STREAM

如果需要对音视频进行支持的话,需要在args.gn文件中,增加如下的配置:

proprietary_codecs = true
ffmpeg_branding = "Chrome"

这样重新编译之后就可以播放视频了.
google group讨论区原贴Does anyone know how Chrome for Android or Android Webview plays facebooks videos?

  1. 编译错误transport_security_state_generator failed with exit code -11,导致无法生成out/Default/gen/net/http/transport_security_state_static.h,这个问题应该是当前使用gn_run_binary.py时,没有权限导致的.可以自己手动增加sudo权限生成该.h文件.
sudo transport_security_state_generator json文件 pins文件 template文件 gen/net/http/transport_security_state_static.h 

这时如果没有出现报错,则打开gn_run_binary.py,将下面的这部分代码注释掉.

if ret != 0:
  print '%s failed with exit code %d' % (sys.argv[1], ret)
sys.exit(ret)

最后则继续使用ninja -C out/Default chrome_public_apk编译.
编译完成

3.chromium 常用编译选项

target_os = "android"
target_cpu = "arm64"
is_debug = true
dcheck_always_on = false
ffmpeg_branding="Chrome"
proprietary_codecs = true
is_component_build=false
is_clang=true