api.video-reactnative-live-stream
api.video-reactnative-live-stream copied to clipboard
[Bug]: Expo SDK 49
Version
v1.2.3
Which operating systems have you used?
- [X] Android
- [ ] iOS
Environment that reproduces the issue
Any expo build for android.
Is it reproducible in the example application?
No
RTMP Server
192.168.2.28:1935
Reproduction steps
Reproduction: https://github.com/BlueBazze/expo-49-livestream-build-error/tree/master
Trying to build the reproduction throws the error mentioned in the Relevant logs output. Building the reproduction is descriped in the reproductions' README
Expected result
Build succeeds
Actual result
Build throws the error mentioned in relevant logs output.
Additional context
Trying to use this package with Expo SDK 49 throws the error. SDK 49 runs on React Native version 0.72.3
Haven't tested iOS
Found this related issue on another RN package: https://github.com/margelo/react-native-quick-crypto/issues/186
At the moment of writing this i would consider this low priority. Google's latest requirement is android target api 33 which takes effect in 9 days relative to the creation of this github issue. Expo SDK 48 is supported until SDK 50 is released. And SDK 48 is android targeting api 33
Relevant logs output
[stderr]
FAILURE: Build failed with an exception.
[stderr]
* What went wrong:
[stderr]
Execution failed for task ':app:mergeDebugNativeLibs'.
[stderr]
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
[stderr]
> 2 files found with path 'lib/arm64-v8a/libcrypto.so' from inputs:
[stderr]
- /home/expo/.gradle/caches/transforms-3/96aa0437b2be82ab10ada7819631979e/transformed/jetified-flipper-0.182.0/jni/arm64-v8a/libcrypto.so
[stderr]
- /home/expo/.gradle/caches/transforms-3/4f404765331db8d43fd810e44289770b/transformed/jetified-rtmpdroid-1.0.5/jni/arm64-v8a/libcrypto.so
[stderr]
If you are using jniLibs and CMake IMPORTED targets, see
[stderr]
https://developer.android.com/r/tools/jniLibs-vs-imported-targets
I'll look further into this when i get the time if it has not been resolved. If there are any questions, or explanation need. I will happily answer.
Hi, Thank for reporting this issue. This is something we are aware of but the solution is not easy.
I started to upgrade the project with new architecture and new RN version in https://github.com/apivideo/api.video-reactnative-live-stream/pull/67 But I am kind of stuck for now.
Hi, Is there an update? We tried to get everything working but unfortunately it's not working. :-( Do you know if downgrading to expo 38 will help?
@b4rtt Downgrading to 38 will yeet you into 2019.
This library works with SDK 48. I am using this version. Unfortunately this project needs to support fabric to be used in SDK 49 or higher.
having the same issue, any updates?
Thanks @BlueBazze for the answer.
As long as Fabric does not support swift
and openssl 3, there won't unfortunately be anything released.
@ThibaultBee do we have any luck yet? is there any alternative or workaround right now that is as good as this?
@BlueBazze
I have fixed this issue in https://github.com/apivideo/api.video-reactnative-live-stream/pull/67
Cool. What did you end up doing about OpenSSL?
Noticed you mentioned some annoyances with iOS in #67. I have a few days available next week if you want any help.
I made a single large shared library librtmpdroid.so
that embed libssl.so
and libcrypto.so
instead of having multiple shared libraries.
The counterpart is that the RN library will embed twice libssl.so
and libcrypto.so
, so the application will be larger.
Noticed you mentioned some annoyances with iOS in https://github.com/apivideo/api.video-reactnative-live-stream/pull/67. I have a few days available next week if you want any help.
Cool, I would appreciate if you could help on the iOS new arch. 🙏
@ThibaultBee I've played around with it.
Havent been able to get the project started.
Keep getting The Swift pod "react-native-livestream" depends upon "glog", which does not define modules.
Tomorrow i will try to initiate a new objc module and try to get it working there.
Hopefully it can work. Cause Haishinkit has some strong opinions about objc.
Btw, i found this package that uses swift and seems to have a working bridge. https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/packages/react-native-avoid-softinput/ReactNativeAvoidSoftinput.podspec
oh, thanks. I had a look on the project, there might a start of a solution
Unfortunately, on my side, it seems that RCT_NEW_ARCH_ENABLED
is never defined when I try to build for the new arch even when I use RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
🤷
This new architecture is really a pain to implement :(
Edit:
Seems like files must have the mm
extension instead of the m
extension. 🤦
The dev is done. I will tackle a last issue with the Android preview.
But... the release is not ready yet. We are expecting feedbacks/tests from the community before releasing. See https://github.com/apivideo/api.video-reactnative-live-stream/pull/67
The dev is done. I will tackle a last issue with the Android preview.
But... the release is not ready yet. We are expecting feedbacks/tests from the community before releasing. See #67
I've set a few days within the next 10 days for testing, hopefully before this friday. I imagine that ill create a demo expo app that you can have afterwards if you want it.
Since this issue was created Expo has been updated to SDK 50 being the latest at the moment. SDK 50 has updated to React Native 0.73 and support for older versions than SDK 49 has been dropped.
Hi,
Is it solved with release 2.0.0?
Theoretically yes. I built the expo demo just fine in the other issue. But haven't ran any builds after the release with fabric
Ok. Thanks for the answer. We are closing it for now. Please reopen if it is not fixed.