This guide will help you setup a development environment to start working on the Jitsi Meet applications.
Building the apps / SDKs is not supported on Windows.
This guide is about building the Jitsi Meet apps themselves. If you want to integrate the Jitsi Meet SDK into your own application check the dedicated page on the sidebar.
Jitsi Meet can be built as a standalone app for Android or iOS. It uses the React Native framework.
First make sure the React Native dependencies (React Native CLI Quickstart) are installed.
Node 16.x and npm 8.x are required. Any other version may result in runtime errors.
Xcode >= 12 is required.
- Install dependencies
Install main dependencies:
Install the required pods (CocoaPods must be installled first, it can be done with Homebrew:
brew install cocoapods)
Build the app using Xcode
Open ios/jitsi-meet.xcworkspace in Xcode. Make sure it's the workspace file!
Select your device from the top bar and hit the "play" button.
When the app is launched from Xcode the Debug console will show the output logs the application creates.
It's likely you'll need to change the bundle ID for deploying to a device. This can be changed in the "General" tab. Under "Identity" set "Bundle Identifier" to a different value, and adjust the "Team" in the "Signing" section to match your own.
The React Native dependencies page has very detailed information on how to setup Android Studio and the required components for getting the necessary build environment. Make sure you follow it closely.
Set the JDK in Android Studio to at least Java 11: https://developer.android.com/studio/intro/studio-config#jdk
The recommended way for building Jitsi Meet is building the app with Android Studio.
Adding extra dependencies
Due to how our project is structured, React Native's automatic linking won't work so Android dependencies need to be manually linked.
First, add your project to
android/settings.gradle like so:
project(':eact-native-mydependency').projectDir = new File(rootProject.projectDir, '../node_modules/@somenamespace/eact-native-mydependency/android')
Then add a dependency on
android/sdk/build.gradle like so:
Last, link it in the
getReactNativePackages method in
android/sdk/src/main/java/org/jitsi/meet/sdk/ReactInstanceManagerHolder.java like so:
Make sure you adjust the fully qualified package name.
The official documentation on debugging is quite extensive and specifies the preferred method for debugging.