...
2. Open the project from the 'output' folder in Android Studio
43. Add Gradle run configuration to the Run / Debug Configurations menu
54. To configure the run, specify the build.gradle file, the name of the build and set the purpose to: build
65. Run building of examples.
...
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
implementation project(':fp_wcs_api') |
to
Code Block | ||
---|---|---|
| ||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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
9. To build the example with Gradle install Gradle wrapper and run
Code Block | ||||
---|---|---|---|---|
| ||||
gradlew build |
Known issues
1. It is impossible now to set microphone gain in Android SDK while publishing stream.