build_plugin_android.sh 966 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/bash -eu
  2. export LIBWEBRTC_DOWNLOAD_URL=https://github.com/Unity-Technologies/com.unity.webrtc/releases/download/M92/webrtc-android.zip
  3. export SOLUTION_DIR=$(pwd)/Plugin~
  4. export PLUGIN_DIR=$(pwd)/Runtime/Plugins/Android
  5. export ARCH_ABI=arm64-v8a
  6. # Download LibWebRTC
  7. curl -L $LIBWEBRTC_DOWNLOAD_URL > webrtc.zip
  8. unzip -d $SOLUTION_DIR/webrtc webrtc.zip
  9. # Build UnityRenderStreaming Plugin
  10. cd "$SOLUTION_DIR"
  11. cmake . \
  12. -B build \
  13. -D CMAKE_SYSTEM_NAME=Android \
  14. -D CMAKE_ANDROID_API_MIN=24 \
  15. -D CMAKE_ANDROID_API=24 \
  16. -D CMAKE_ANDROID_ARCH_ABI=$ARCH_ABI \
  17. -D CMAKE_ANDROID_NDK=$ANDROID_NDK \
  18. -D CMAKE_BUILD_TYPE=Release \
  19. -D CMAKE_ANDROID_STL_TYPE=c++_static
  20. cmake \
  21. --build build \
  22. --target WebRTCPlugin
  23. # libwebrtc.so move into libwebrtc.aar
  24. cp -f $SOLUTION_DIR/webrtc/lib/libwebrtc.aar $PLUGIN_DIR
  25. pushd $PLUGIN_DIR
  26. mkdir -p jni/$ARCH_ABI
  27. mv libwebrtc.so jni/$ARCH_ABI
  28. zip -g libwebrtc.aar jni/$ARCH_ABI/libwebrtc.so
  29. rm -r jni
  30. popd