IoT Platform の Android 向け Link SDK を使用して、デバイスと IoT Platform 間に双方向データトンネルを構築できます。このトピックでは、Android プロジェクトで Android 向け Link SDK を構成する方法について説明します。
Android 向け Link SDK の構成
Android プロジェクトのルートディレクトリにある
build.gradleファイルまたはsettings.gradleファイルに Alibaba Cloud リポジトリのアドレスを追加します。maven { url "https://maven.aliyun.com/nexus/content/repositories/releases/" }app などの関連モジュールの
./build.gradleファイルに依存関係を追加し、Android 向け Link SDK をダウンロードします。implementation ('com.aliyun.alink.linksdk:lp-iot-linkkit:1.7.3.8')
AndroidX 機能
AndroidX 機能をサポートするプロジェクトを作成する場合、関連モジュールの build.gradle ファイルにキーワード androidx が含まれます。この場合、gradle.properties ファイルに次のコードを指定します。
android.enableJetifier=trueAPI 操作
Android 向け Link SDK の API 操作については、「LinkKit API」をご参照ください。
デモの入手
IoT Platform が提供するデモをダウンロードし、そのデモを使用して Android を実行するデバイスを IoT Platform に接続できます。ダウンロードリンク: Android Link SDK デモ。
重要
デモをダウンロードすることにより、ソフトウェアライセンス契約に同意したことになります。
難読化の構成
Android プロジェクトのルートディレクトリにある ./Demo/app/proguard-rules.pro ファイルで、難読化の構成を完了します。
# linkkit API
-keep class com.aliyun.alink.**{*;}
-keep class com.aliyun.linksdk.**{*;}
-dontwarn com.aliyun.**
-dontwarn com.alibaba.**
-dontwarn com.alipay.**
-dontwarn com.ut.**
# keep native method // ネイティブメソッドを保持
-keepclasseswithmembernames class * {
native <methods>;
}
# keep netty // nettyを保持
-keepattributes Signature,InnerClasses
-keepclasseswithmembers class io.netty.** {
*;
}
-keepnames class io.netty.** {
*;
}
-dontwarn io.netty.**
-dontwarn sun.**
# keep mqtt // mqttを保持
-keep public class org.eclipse.paho.**{*;}
# keep fastjson // fastjsonを保持
-dontwarn com.alibaba.fastjson.**
-keep class com.alibaba.fastjson.**{*;}
# keep gson // gsonを保持
-keep class com.google.gson.** { *;}
# keep network core // ネットワークコアを保持
-keep class com.http.**{*;}
-keep class org.mozilla.**{*;}
# keep okhttp // okhttpを保持
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
-dontwarn org.mozilla.**
-keep class okio.**{*;}
-keep class okhttp3.**{*;}
-keep class org.apache.commons.codec.**{*;}
-keep class com.aliyun.alink.devicesdk.demo.FileProvider{*;}
-keep class android.support.**{*;}
-keep class android.os.**{*;}