Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The building result is .apk files located in the corresponding folders: 2players/build, click-to-call/build, and so on.
The Android SDK file is located in the following path in the project: libs/wcs-android-sdk-1.0.1.2.aar

Building a separate example

If you cannot run export script for all the examples, or wish to build a separate example, it can be prepared for building as follows:

1. Download examples source code

Code Block
languagebash
themeRDark
git clone -b 1.1 https://github.com/flashphoner/wcs-android-sdk-samples.git

2. Copy an example needed to a separate folder

Code Block
languagebash
themeRDark
cd wcs-android-sdk-samples
cp streaming-min gradle.properties ~/streaming-min

3. Download aar library and put it to libs subfolder in example folder

Code Block
languagebash
themeRDark
wget https://flashphoner.com/downloads/builds/flashphoner_client/wcs-android-sdk/1.1/wcs-android-sdk-1.1.0.x.aar
mkdir ~/streaming-min/libs
cp wcs-android-sdk-1.1.0.x.aar ~/streaming-min/libs

4. Add the buildscript section to the beginning of build.gradle file in example folder:

Code Block
themeRDark
buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven { url 'https://maven.google.com' }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.0'
        classpath 'com.github.triplet.gradle:play-publisher:1.1.5'
    }
}

5. Add the repositories section to the build.gradle file in example folder:

Code Block
themeRDark
repositories {
    jcenter()
    mavenCentral()
    maven { url 'https://maven.google.com' }
    google()
    flatDir{
        dirs 'libs'
    }
}

6. Replace the string in dependencies section of the build.gradle file in the example folder

Code Block
themeRDark
implementation project(':fp_wcs_api')

to

Code Block
themeRDark
implementation 'com.flashphoner.fpwcsapi:wcs-android-sdk-1.1.0.x@aar'

where wcs-android-sdk-1.1.0.x  is aar file name downloaded at step 3.

7. The build.gradle file example

Code Block
themeRDark
titlebuild.gradle
collapsetrue
apply plugin: 'com.android.application'
apply plugin: 'com.github.triplet.play'

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven { url 'https://maven.google.com' }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.0'
        classpath 'com.github.triplet.gradle:play-publisher:1.1.5'
    }
}

Properties signingProps = null

android {
    compileSdkVersion 31
    buildToolsVersion '31.0.0'
    defaultConfig {
        applicationId "com.flashphoner.wcsexample.two_way_streaming"
        minSdkVersion 26
        targetSdkVersion 31
        versionCode 2600001
        versionName "1.1"
    }
    def signingPropsFile = System.getenv('SIGNING_PROPERTIES')
    if (signingPropsFile && new File(signingPropsFile).exists()) {
        signingProps = new Properties()
        signingProps.load(new FileInputStream(file(signingPropsFile)))

        signingConfigs {
            release {
                storeFile file(signingProps['keystore'])
                storePassword signingProps['keystore.password']
                keyAlias signingProps['key.alias']
                keyPassword signingProps['key.password']
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            if (signingProps) {
                signingConfig signingConfigs.release
            }
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

repositories {
    jcenter()
    mavenCentral()
    maven { url 'https://maven.google.com' }
    google()
    flatDir{
        dirs 'libs'
    }
}

dependencies {
    implementation 'com.flashphoner.fpwcsapi:wcs-android-sdk-1.1.0.x@aar'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'
    implementation 'androidx.appcompat:appcompat:1.4.0'
    implementation 'com.google.android.material:material:1.4.0'
}

play {
    if(signingProps) {
        track = 'production'
        serviceAccountEmail = signingProps['service.account.email']
        pk12File = file(signingProps['service.account.pk12file'])
    }
}

8. Open the example folder in Android Studio to build the example. Android Studio will do Gradle sync and install gradle version needed

Image Added

9. To build the example with Gradle install Gradle wrapper and run

Code Block
languagebash
themeRDark
gradlew build

Known issues

1. It is impossible now to set microphone gain in Android SDK while publishing stream.