このトピックでは、Android用のショートビデオSDKを手動で統合する方法、またはMaven依存関係を使用してSDKを統合する方法について説明します。
前提条件
開発環境がセットアップされました。 次の表に、開発環境の要件を示します。
環境 | 説明 |
Android | Android 4.3以降。 |
Java | Java 1.7以降。 |
APIレベル | Android APIレベル18以降。 |
Android Studio | Android Studio 2.3以降。 Android StudioにアクセスしてAndroid Studioをダウンロードします。 |
(推奨) Maven依存関係を使用してSDKを統合する
Alibaba Cloud Mavenリポジトリを追加します。
Alibaba Cloud MavenリポジトリのURLをプロジェクトのbuild.gradleファイルに追加します。
allprojects { repositories { maven { url 'https://maven.aliyun.com/nexus/content/repositories/releases/' } } }
Mavenプロジェクトに依存関係を追加します。
dependencies{ implementation 'com.aliyun.video.android:svideopro:6.15.0' // Required dependency for the short video SDK Professional Edition. implementation 'com.aliyun.video.android:core:1.2.2' // Required dependency for the core library. // AlivcFFmpeg V4.3.0 or later must be used. Select one of the following versions. implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.6.0-part' // Dedicated dependency for the short video SDK, which has a small package size. implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.6' // Dependency that is used by both the short video SDK and ApsaraVideo Player SDK. If you want to integrate both the short video SDK and ApsaraVideo Player SDK, use the version provided in this code block. implementation 'com.aliyun.video.android:upload:1.6.6' // Optional dependency for an upload library. implementation 'com.google.code.gson:gson:2.8.0' // Dependency for a third-party library. implementation 'com.squareup.okhttp3:okhttp:3.2.0' // Dependency for a third-party library. implementation 'com.aliyun.dpa:oss-android-sdk:+'// The upload of short videos depends on the upload SDK and Object Storage Service (OSS). }
ショートビデオSDKは、armeabi-v7aおよびarm64-v8a命令セットのみをサポートします。 armeabiとの互換性を確保するには、armeabi-v7aフォルダ内のファイルをarmeabiフォルダにします。 ショートビデオSDKはAndroid 4.3以降にのみ適用され、ARMv5およびARMv6デバイスの互換性は必要ありません。
SDKを手動で統合する
AARパッケージのインポート
モジュールを作成します。
Android Studioで、[ファイル]> [新規]> [新規モジュール] を選択してライブラリモジュールを作成します。 この例では、AliyunSvideoLibraryという名前のライブラリモジュールが使用されています。
AliyunSdk-RCE.aar、AlivcConan-x.x.x.aar、およびAlivcCore.jarをSDKディレクトリから作成したモジュールにコピーし、そのモジュールをプロジェクトに追加します。
Gradleを使用してAARおよびJARパッケージを追加します。
dependencies { implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs') }
AliyunSvideoLibraryモジュールの依存関係をアプリモジュールに追加します。
dependencies { implementation project(":AliyunSvideoLibrary") }
インポートします。そうファイル
jniLibsフォルダーを解凍されたSDKパッケージからアプリモジュールのメインフォルダーにコピーします。 次に、アプリモジュールのbuild.gradleファイルでjniLibsのパスを宣言します。
次のサンプルコードに例を示します。
android { sourceSets.main { jni.srcDirs = [] jniLibs.srcDir "src/main/jniLibs" } }
SDKに必要なダイナミックリンクライブラリを読み込みます。
ダイナミックリンクライブラリは、最新バージョンのSDKで読み込まれます。 ダイナミックリンクライブラリを読み込む必要はありません。
次のセクションでは、ライブラリファイルについて説明します。
libalivcffmpeg.so-------------Required third-party library for the SDK. libaliresample.so-------------------The library that is required for audio resampling. This library is optional.
短い動画のアップロードに必要な依存関係を追加します。
短い動画をアップロードするには、アップロードSDKとOSSが必要です。 アプリケーションでこの機能が必要ない場合は、この手順をスキップしてください。
implementation 'com.aliyun.video.android:upload:1.6.4' implementation 'com.google.code.gson:gson:2.8.0' implementation 'com.squareup.okhttp3:okhttp:3.2.0' implementation 'com.aliyun.dpa:oss-android-sdk:+'
設定を初期化します。
アプリケーションモジュールのApplicationクラスのonCreateメソッドを呼び出します。 次のサンプルコードに例を示します。
com.aliyun.vod.common.httpfinal.QupaiHttpFinal.getInstance().initOkHttpFinal();
権限の追加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Android 6.0以降では、実行時に権限を要求する必要があります。
ライセンスの設定
ライセンスを取得したら、次の手順を実行してライセンスファイルを設定します。 ライセンスの取得方法の詳細については、「ショートビデオSDKのライセンスの取得と使用」をご参照ください。
com.aliyun.alivc_license.licensekeyとcom.aliyun.alivc_license.licensefileをAndroidManifest.xmlファイルに追加します。 com.aliyun.alivc_license.licensekeyの値はLicenseKeyの値であり、com.aliyun.alivc_license.licensefileの値はライセンスファイルが格納されるパスです。 サンプルコード:
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<meta-data
android:name="com.aliyun.alivc_license.licensekey"
android:value="yourLicenseKey"/> // Enter the value of LicenseKey.
<meta-data
android:name="com.aliyun.alivc_license.licensefile"
android:value="yourLicenseFile"/> // Enter the path in which the license file is stored. Example: assets/alivc_license/AliVideoCert.crt.
...
</application>
難読化ルールの設定
難読化ルールは、proguard-rules.proファイルで設定できます。 サンプルコード:
######################Obfuscation configuration of the short video SDK#########################
-keep class com.aliyun.**{*;}
-keep class com.duanqu.**{*;}
-keep class com.qu.**{*;}
-keep class com.alibaba.**{*;}
-keep class component.alivc.**{*;}
-keep class com.alivc.**{*;}
-keep class org.webrtc.**{*;}
-keep class org.ugsv.**{*;}