IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 4-4 jitsi meet sdk android 编译总结 -> 正文阅读

[移动开发]4-4 jitsi meet sdk android 编译总结

经历一周时间的研究,终于编译成功了。
对经历的过程简单总结一下,仅供参考!

源码下载:

https://github.com/jitsi/jitsi-meet/releases/tag/android-sdk-5.0.2

环境:

$ node -v && npm -v && gradle -v
v14.18.0
6.14.15

------------------------------------------------------------
Gradle 7.0
------------------------------------------------------------

Build time:   2021-04-09 22:27:31 UTC
Revision:     d5661e3f0e07a8caff705f1badf79fb5df8022c4

Kotlin:       1.4.31
Groovy:       3.0.7
Ant:          Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM:          11.0.14 (Oracle Corporation 11.0.14+8-LTS-263)
OS:           Mac OS X 10.15.7 x86_64

$ java -version

java version "11.0.14" 2022-01-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.14+8-LTS-263)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.14+8-LTS-263, mixed mode)

使用如下版本:
react-native 0.66.4

源码下载后:
npm install 或者 yarn install
下载node_modules依赖(这个我就下载了一周,才下载完整,成功前是家里的宽带网络,今天改用了移动手机流量热点 , 全部有外网)

下载完成,编译
参考资料
https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-android-sdk

首先确保您的开发环境设置正确。

关于依赖项的说明:除了 SDK 之外,Jitsi 还向 Jitsi Maven 存储库发布了一些 SDK 依赖项(否则不公开)的二进制 Maven 工件。当您计划使用从源代码构建的 SDK 时,您可能会使用比用于创建二进制 SDK 工件的源代码版本更新(或至少不同)的源代码版本. 因此,您的项目需要的依赖项也可能与 Jitsi Maven 存储库中发布的依赖项不同。这可能会导致构建问题,由不可用的依赖项引起。

如果您想使用从源代码构建的 SDK,您可能会从编写包含这些依赖项的本地 Maven 存储库中受益。下面的文本描述了如何创建一个包含 SDK 以及这些依赖项的存储库。出于说明目的,我们将这个本地 Maven 存储库的位置定义为/tmp/repo

在源代码形式中,Android SDK 依赖项由 Jitsi Meet 项目的 package.json 和 package-lock.json 锁定/固定。获取数据,在jitsi-meet项目目录下执行npm:

npm install

这将以二进制格式或源代码格式在 /node_modules/ 下的某个位置引入依赖项

Jitsi Meet SDK for Android 所依赖的第三方 React Native模块由 NPM 以源代码或二进制形式下载。这些需要组装成 Maven 工件,然后发布到本地 Maven 存储库。提供了一个脚本来促进这一点。从 jitsi-meet 项目存储库的根目录运行:

./android/scripts/release-sdk.sh /tmp/repo

在编译的过程中会出现问题的解决参考资料:
https://github.com/react-native-webrtc/react-native-webrtc/issues/1130
出现的问题现象(只是其中之一)

yarn run v1.22.10
$ react-native run-android
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 892 file(s) to forward-jetify. Using 8 workers...
info JS server already running.
info Installing the app...

Configure project :app
WARNING:: The option setting 'android.enableDexingArtifactTransform.desugaring=false' is experimental.
The current default is 'true'.

Task :react-native-webrtc:compileDebugJavaWithJavac FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings
27 actionable tasks: 2 executed, 25 up-to-date
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java:5: 错误: 程序包org.webrtc不存在
import org.webrtc.VideoFrame;
^
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java:6: 错误: 程序包org.webrtc不存在
import org.webrtc.VideoSink;
^
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java:7: 错误: 程序包org.webrtc不存在
import org.webrtc.VideoTrack;
^
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java:69: 错误: 找不到符号
private class TrackMuteUnmuteImpl implements VideoSink {
^
符号:VideoSink
位置:com.oney.WebRTCModule.VideoTrackAdapter
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java:31: 错误: 程序包org.webrtc不存在
import org.webrtc.;
^
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java:32: 错误: 程序包org.webrtc.audio不存在
import org.webrtc.audio.AudioDeviceModule;
^
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java:33: 错误: 程序包org.webrtc.audio不存在
import org.webrtc.audio.JavaAudioDeviceModule;
^
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java:38: 错误: 找不到符号
public void addAdapter(String streamReactTag, VideoTrack videoTrack) {
^
符号:VideoTrack
位置:com.oney.WebRTCModule.VideoTrackAdapter
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java:53: 错误: 找不到符号
public void removeAdapter(VideoTrack videoTrack) {
^
符号:VideoTrack
位置:com.oney.WebRTCModule.VideoTrackAdapter
/Users/mac/demo/RTC-demo/RTC_RNdemo/node_modules/react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java:84: 错误: 找不到符号
public void onFrame(VideoFrame frame) {
^

还有可能出现其他问题:

请添加图片描述
上述问题就是依赖版本的问题
react-native-reanimated 版本太高造成的,不能高于 2.2.0
所以可以使用如下方法安装低版本

npm i react-native-reanimated@1.13.4
or
yarn add react-native-reanimated@1.13.4
or 
yarn add react-native-reanimated@0.0.0 选择版本

其他问题如果是依赖版本的问题,均可以使用上述方法来改变版本。

对于依赖下载的源改变,可以参考我的博客中的其他文章解决。

上述只是自己在编译过程中的总结,有问题欢迎留言讨论。

2022年4月4日(不平凡的4月,从4月1日开始)

努力就可以战胜一切困难,虽然困难很多!!!!

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:19:35  更:2022-04-06 23:20:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 14:49:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码