renyuzhuo / WebRTC-Android-Learn

AppRTCMobile——WebRTC Android
https://renyuzhuo.cn/#/issues/4
76 stars 23 forks source link

讨论交流 #5

Closed flyminiboy closed 7 years ago

flyminiboy commented 7 years ago

我不用libjingle_peerconnection_java.jar 和 libjingle_peerconnection_so.so 这个库,然后自己用源码对接jni 编译一套库可以吗?我下载webrtc 源码好多 我想知道我需要哪些地方的文件,多谢。

RWebRTC commented 7 years ago

@fly518420 自己编译一套库是可以的,需要用到的就是 这里 的代码,以前代码都在 libjingle_peerconnection_java 中,现在分了多个文件,但是编译需要 WebRTC 环境,没有这个环境编译可能出错。参考官网(如果官网被墙看这里

flyminiboy commented 7 years ago

我看哪些Java文件里面有好多native方法,但是没有找到对应的底层实现,在有native方法的Java文件中也没有看到加载动态的库的操作

RWebRTC commented 7 years ago

这里 加载动态库

flyminiboy commented 7 years ago

好像只有这一个地方有加载,比如 VideoTrack 这个Java文件里面也有native方法 但是没有看到有加载动态库。

flyminiboy commented 7 years ago

哦,我好像明白了,这个还和别的不要一样,不是用过ndk-build 直接进行的操作,是通过编译脚本进行的编译。

RWebRTC commented 7 years ago

@fly518420 PeerConnectionFactory 在一次连接中一直都存在,不会因为 Android 生命周期问题而导致找不到类,不需要重复加载

flyminiboy commented 7 years ago

我看so库的源文件里面的实现引用了好多头文件,那些头文件和实现不需要添加吗?

RWebRTC commented 7 years ago

@fly518420 在编译的时候确实需要,但没有放在本项目源码中。那些引入的头文件在编译的时候自动已经引入编译链接进 so 文件中了,引入该 so 已经包含其他的了。

flyminiboy commented 7 years ago

如果我想修改那些文件里面的内容,如何编译进去呢?

RWebRTC commented 7 years ago

@fly518420 修改了之后重新编译就可以了。