原来编译脚本链接:
https://chromium.googlesource.com/chromium/src/+/119.0.6045.31/components/cronet/tools/cr_cronet.py
脚本修改为:
#!/usr/bin/env python3
# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""
cr_cronet.py - cr - like helper tool for cronet developers
"""
import argparse
import os
import re
import shlex
import subprocess
import sys
def quoted_args(args):
return ' '.join([shlex.quote(arg) for arg in args])
def run(command, **kwargs):
print(command, kwargs)
return subprocess.call(command, **kwargs)
def run_shell(command, extra_options=''):
command = command + ' ' + extra_options
print(command)
return os.system(command)
def gn(out_dir, gn_args, gn_extra=None):
cmd = ['gn', 'gen', out_dir, '--args=%s' % gn_args]
if gn_extra:
cmd += gn_extra
return run(cmd)
def build(out_dir, build_target, extra_options=None):
cmd = ['ninja', '-C', out_dir, build_target] + get_ninja_jobs_options()
if extra_options:
cmd += extra_options
return run(cmd)
def install(out_dir):
cmd = ['build/android/adb_install_apk.py']
# Propagate PATH to avoid issues with missing tools http://crbug/1217979
env = {
'BUILDTYPE': out_dir[4:],
'PATH': os.environ.get('PATH', '')
}
return run(cmd + ['CronetTestInstrumentation.apk'], env=env) or \
run(cmd + ['ChromiumNetTestSupport.apk'], env=env)
def test(out_dir, extra_options):
return run([out_dir + '/bin/run_cronet_test_instrumentation_apk'] +
extra_options)
def unittest(out_dir, extra_options):
return run([out_dir + '/bin/run_cronet_unittests_android'] +
extra_options)
def test_ios(out_dir, extra_options):
return run([out_dir + '/iossim', '-c', quoted_args(extra_options),
out_dir + '/cronet_test.app'])
def unittest_ios(out_dir, extra_options):
return run([out_dir + '/iossim', '-c', quoted_args(extra_options),
out_dir + '/cronet_unittests_ios