2017-06-07 20:15:36 +00:00
|
|
|
// Top-level build file where you can add configuration options common to all
|
|
|
|
// sub-projects/modules.
|
2016-10-05 14:36:59 +00:00
|
|
|
|
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
jcenter()
|
2017-06-20 15:32:44 +00:00
|
|
|
maven { url 'https://maven.google.com' }
|
2016-10-05 14:36:59 +00:00
|
|
|
}
|
|
|
|
dependencies {
|
2017-08-08 19:48:43 +00:00
|
|
|
classpath 'com.android.tools.build:gradle:3.0.0-alpha9'
|
2016-10-05 14:36:59 +00:00
|
|
|
|
|
|
|
// NOTE: Do not place your application dependencies here; they belong
|
2017-06-07 20:15:36 +00:00
|
|
|
// in the individual module build.gradle files.
|
2016-10-05 14:36:59 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
allprojects {
|
|
|
|
repositories {
|
|
|
|
mavenLocal()
|
|
|
|
jcenter()
|
2017-08-03 15:40:08 +00:00
|
|
|
maven {
|
|
|
|
// Google's maven repository, required for AppCompat
|
|
|
|
url "https://maven.google.com"
|
|
|
|
}
|
2016-10-05 14:36:59 +00:00
|
|
|
maven {
|
2017-06-07 20:15:36 +00:00
|
|
|
// All of React Native (JS, Obj-C sources, Android binaries) is
|
|
|
|
// installed from npm.
|
2016-10-05 14:36:59 +00:00
|
|
|
url "$rootDir/../node_modules/react-native/android"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
[RN] Add initial Jitsi Meet SDK for Android
Dames en heren, welcome to Jitsi Meet SDK for Android, the Jitsi Meet library
for Android.
The Jitsi Meet SDK encapsulates React Native and all the dependencies Jitsi
Meet has so other aopplications can integrate it easily.
Unlike iOS, creating "fat" libraries is not allways (if at all) possible on
Android, however, effort was put into making the integration as easy as
possible.
While React Native can be embedded in native applications, I don't think it was
designed to be embedded as part of an Android library, hidden away from the
application using it. This surfaced as a number of issues which had to be
addressed specifically due to our use-case:
- Activity lifecycle methods must be linked with the React Native engine, so the
library provides wrapper methods.
- Custom fonts have to be manually added as assets, since the provided gradle
script doesn't work properly in a library target.
- The RN packager has to be manually triggered since the gradle script will no
longer do it for us.
At this stage, the Jitsi Meet application is just a small single activity
application which uses the Jitsi Meet SDK to create a single activity which
represents the entire application. Events and external conference handling are
forthcoming.
PS: Yours truly would like to add that it was a lot more fun to work on the iOS
side of things.
2017-05-22 13:33:42 +00:00
|
|
|
|
|
|
|
ext {
|
2017-06-28 08:51:08 +00:00
|
|
|
compileSdkVersion = 25
|
2017-06-20 15:32:44 +00:00
|
|
|
buildToolsVersion = "25.0.3"
|
[RN] Add initial Jitsi Meet SDK for Android
Dames en heren, welcome to Jitsi Meet SDK for Android, the Jitsi Meet library
for Android.
The Jitsi Meet SDK encapsulates React Native and all the dependencies Jitsi
Meet has so other aopplications can integrate it easily.
Unlike iOS, creating "fat" libraries is not allways (if at all) possible on
Android, however, effort was put into making the integration as easy as
possible.
While React Native can be embedded in native applications, I don't think it was
designed to be embedded as part of an Android library, hidden away from the
application using it. This surfaced as a number of issues which had to be
addressed specifically due to our use-case:
- Activity lifecycle methods must be linked with the React Native engine, so the
library provides wrapper methods.
- Custom fonts have to be manually added as assets, since the provided gradle
script doesn't work properly in a library target.
- The RN packager has to be manually triggered since the gradle script will no
longer do it for us.
At this stage, the Jitsi Meet application is just a small single activity
application which uses the Jitsi Meet SDK to create a single activity which
represents the entire application. Events and external conference handling are
forthcoming.
PS: Yours truly would like to add that it was a lot more fun to work on the iOS
side of things.
2017-05-22 13:33:42 +00:00
|
|
|
minSdkVersion = 16
|
2017-08-03 15:44:52 +00:00
|
|
|
targetSdkVersion = 25
|
[RN] Add initial Jitsi Meet SDK for Android
Dames en heren, welcome to Jitsi Meet SDK for Android, the Jitsi Meet library
for Android.
The Jitsi Meet SDK encapsulates React Native and all the dependencies Jitsi
Meet has so other aopplications can integrate it easily.
Unlike iOS, creating "fat" libraries is not allways (if at all) possible on
Android, however, effort was put into making the integration as easy as
possible.
While React Native can be embedded in native applications, I don't think it was
designed to be embedded as part of an Android library, hidden away from the
application using it. This surfaced as a number of issues which had to be
addressed specifically due to our use-case:
- Activity lifecycle methods must be linked with the React Native engine, so the
library provides wrapper methods.
- Custom fonts have to be manually added as assets, since the provided gradle
script doesn't work properly in a library target.
- The RN packager has to be manually triggered since the gradle script will no
longer do it for us.
At this stage, the Jitsi Meet application is just a small single activity
application which uses the Jitsi Meet SDK to create a single activity which
represents the entire application. Events and external conference handling are
forthcoming.
PS: Yours truly would like to add that it was a lot more fun to work on the iOS
side of things.
2017-05-22 13:33:42 +00:00
|
|
|
}
|
2017-06-20 15:32:44 +00:00
|
|
|
|
|
|
|
// Force the version of the Android build tools we have chosen on all
|
|
|
|
// subprojects. The forcing was introduced for react-native and the third-party
|
|
|
|
// modules that we utilize such as react-native-background-timer.
|
|
|
|
subprojects { subproject ->
|
|
|
|
afterEvaluate{
|
|
|
|
if (subproject.plugins.hasPlugin('android')
|
|
|
|
|| subproject.plugins.hasPlugin('android-library')) {
|
|
|
|
android {
|
|
|
|
buildToolsVersion rootProject.ext.buildToolsVersion
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|