[+] WebRTC源码提取、空指针异常处理

This commit is contained in:
acgist
2023-04-19 08:22:57 +08:00
parent 2508ab6973
commit 257355fd1f
187 changed files with 24525 additions and 157 deletions

View File

@@ -67,28 +67,6 @@ fastboot flashall
fastboot -w update aosp_arm64-img-eng.xxx.zip
```
## 小米5S
由于使用小米5S作为测试机没有适合的`LineageOS`版本,所有这里选择了`PixelExperience`作为测试系统,如果其他机器建议使用`LineageOS``ROM`下载地址:
### TWRP
* https://twrp.me/Devices/
### MIUI
* 卡刷http://bigota.d.miui.com/V11.0.2.0.OAGCNXM/miui_MI5S_V11.0.2.0.OAGCNXM_6ce204eb2c_8.0.zip
* 线刷http://bigota.d.miui.com/V11.0.2.0.OAGCNXM/capricorn_images_V11.0.2.0.OAGCNXM_20191023.0000.00_8.0_cn_714988e4b7.tgz
* 文章https://web.vip.miui.com/page/info/mio/mio/detail?isTop=0&postId=17843063
### PixelExperience
* https://get.pixelexperience.org/capricorn
### 砖头
如果刷机过程中出现了黑屏,进不了`recovery``bootloader`时,需要使用`MiFlash`通过串口刷机。
## ADB命令
```
@@ -106,8 +84,6 @@ adb uninstall
## 刷机命令
注意:注意备份数据
```
fastboot devices
fastboot reboot

21
docs/MI5S.md Normal file
View File

@@ -0,0 +1,21 @@
# 小米5S
由于使用小米5S作为测试机没有适合的`LineageOS`版本,所有这里选择了`PixelExperience`作为测试系统,如果其他机器建议使用`LineageOS``ROM`下载地址:
## TWRP
* https://twrp.me/Devices/
## MIUI
* 卡刷http://bigota.d.miui.com/V11.0.2.0.OAGCNXM/miui_MI5S_V11.0.2.0.OAGCNXM_6ce204eb2c_8.0.zip
* 线刷http://bigota.d.miui.com/V11.0.2.0.OAGCNXM/capricorn_images_V11.0.2.0.OAGCNXM_20191023.0000.00_8.0_cn_714988e4b7.tgz
* 文章https://web.vip.miui.com/page/info/mio/mio/detail?isTop=0&postId=17843063
## PixelExperience
* https://get.pixelexperience.org/capricorn
## 砖头
如果刷机过程中出现了黑屏,进不了`recovery``bootloader`时,需要使用`MiFlash`通过串口刷机。

View File

@@ -15,7 +15,7 @@
* 四核`CPU`
* 硬盘`100G`
* 系统`Ubuntu 20.xx`
* 宽带按需`100Mbps/s`(不要固定宽带)
* 宽带按需`100Mbps/s`
* 整个下载过程大概需要半到一个小时
* 整个编译过程大概需要一到两个小时
@@ -27,7 +27,7 @@ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
# 源码
mkdir -p /data/webrtc
cd /data/webrtc
fetch --nohooks webrtc_android
/data/depot_tools/fetch --nohooks webrtc_android
/data/depot_tools/gclient sync
# 分支
@@ -56,17 +56,66 @@ source ./build/android/envsetup.sh
---
# 编译项目
./tools_webrtc/android/build_aar.py --build-dir ./out/release-build/
# 指定CPU架构--arch x86 x86_64 arm64-v8a armeabi-v7a
./tools_webrtc/android/build_aar.py --build-dir ./out/release-build/ --arch x86 x86_64 arm64-v8a armeabi-v7a
# 安装工具
cd /data
wget https://github.com/skvadrik/re2c/releases/download/3.0/re2c-3.0.tar.xz
tar -xJf re2c-3.0.tar.xz
cd re2c-3.0
./configure
cd /data
git clone https://github.com/ninja-build/ninja.git
cd ninja
./configure.py --bootstrap
ln -sf /data/ninja/ninja /usr/bin/ninja
# 生成静态库
/data/depot_tools/autoninja -C ./out/release-build/x86 webrtc
/data/depot_tools/autoninja -C ./out/release-build/x86_64 webrtc
/data/depot_tools/autoninja -C ./out/release-build/arm64-v8a webrtc
cd /data/webrtc/src
/data/depot_tools/autoninja -C ./out/release-build/x86 webrtc &&
/data/depot_tools/autoninja -C ./out/release-build/x86_64 webrtc &&
/data/depot_tools/autoninja -C ./out/release-build/arm64-v8a webrtc &&
/data/depot_tools/autoninja -C ./out/release-build/armeabi-v7a webrtc
# 打包
zip -r webrtc.zip out libwebrtc.aar
# 打包文件
zip -r lib.zip out libwebrtc.aar
# 提取源代码
zip -r java.zip \
sdk/android/api/ \
sdk/android/src/ \
rtc_base/java/src/ \
modules/audio_device/android/java/src/ \
out/release-build/arm64-v8a/gen/sdk/android/video_api_java/generated_java/input_srcjars/ \
out/release-build/arm64-v8a/gen/sdk/android/peerconnection_java/generated_java/input_srcjars/
# 提取头文件
mkdir linux-include
---
#!/bin/bash
src=`find ./ -name "*.h"`
for header in $src
do
echo "cp header file $header"
cp --parents $header linux-include
done
src=`find ./ -name "*.hpp"`
for header in $src
do
echo "cp header file $header"
cp --parents $header linux-include
done
src=`find ./ -name "*.hxx"`
for header in $src
do
echo "cp header file $header"
cp --parents $header linux-include
done
---
zip -r src.zip linux-include
```
[WebRTC](https://pan.baidu.com/s/1E_DXv32D9ODyj5J-o-ji_g?pwd=hudc)
@@ -87,41 +136,3 @@ cmake . -B build \
make -C build
make install -C build
```
## licenses
```
List of licenses:
webrtc,
abseil-cpp,
android_deps,
android_deps:com_android_support_support_annotations.*,
android_ndk,
android_sdk,
androidx,
base64,
boringssl,
crc32c,
fft,
fiat,
g711,
g722,
ijar,
jdk,
libaom,
libevent,
libjpeg_turbo,
libsrtp,
libvpx,
libyuv,
nasm,
ooura,
opus,
pffft,
protobuf,
rnnoise,
sigslot,
spl_sqrt_floor,
usrsctp,
zlib
```