webrtc-android-demo-apprtc
WebRTC is a free, open project.The source code of this demo is based on official samples(src/samples/androidapp). I have compiled webrtc source to get required .so and .jar files, so you can just build it by android studio.
How to start
This demo is based on WebRTC.the official website: https://webrtc.org/
How to build and run?
Please clone this project,build it with android stuido,install the target apk files to your devices.
Overview
1,go to website : https://appr.tc/.input your room id(any number).
2,open the apprtc app,input the same room id.
3,Experience p2p connectivity with webrtc.
Development
if you try to compile the source of webrtc,you'll depressed at its large size,the total checkout size will be about 16 GB. and more than 30G after compiled. for more details about getting source code: https://webrtc.org/native-code/android/
if you have installed all required softwares in linux. let's excute cmds like the follow tips:
#!/bin/bash
#[email protected]
export PATH=$PATH:~/webrtc/depot_tools
cd ~/webrtc/android/
fetch --nohooks webrtc_android
gclient sync
gclient runhooks
ls
cd src
git new-branch webrtc_compile
git checkout webrtc_compile
echo "--------------compile config:android,arm-----------------"
gn gen out/arm --args='target_os="android" target_cpu="arm"'
echo "-----------------start compiling webrtc---------------------"
ninja -C out/arm
echo "-----------------compile webrtc done---------------------"
#ninja -C out/arm AppRTCMobile
#build/android/gradle/generate_gradle.py --output-directory $PWD/out/arm --target "//webrtc/examples:AppRTCMobile" --use-gradle-process-resources --split-projects --canary
echo "start copying jar files"
mkdir ../libs/armeabi-v7a/
cp out/arm/lib.java/sdk/android/libjingle_peerconnection_java.jar ../libs/libjingle_peerconnection_java.jar
cp out/arm/lib.java/rtc_base/base_java.jar ../libs/base_java.jar
cp out/arm/gen/modules/audio_device/audio_device_java__compile_java.javac.jar ../libs/audio_device_java__compile_java.javac.jar
cp out/arm/lib.java/examples/androidapp/third_party/autobanh/autobanh.jar ../libs/autobanh.jar
echo "start copying so files"
cp out/arm/libjingle_peerconnection_so.so ../libs/armeabi-v7a/libjingle_peerconnection_so.so
echo "task has finished"
exit 0
# scp /Users/duqian/Downloads/webrtc_arm.sh [email protected]:/home/nonolive/webrtc/android/
Future
Maybe I will share more articles about webrtc in the future.
Thanks to WebRTC team!
Dusan's E-mail: [email protected]
WebRTC Demos:webrtc-android-demo-apprtc