您可以使用物聯網平台提供的Android Link SDK,搭建裝置與物聯網平台的雙向資料通道。本文介紹使用Android Link SDK需進行的SDK工程配置。
配置SDK
在Android工程根目錄下的基礎設定檔(
build.gradle
或settins.gradle
)中,加入阿里雲倉庫地址,配置倉庫。maven { url "https://maven.aliyun.com/nexus/content/repositories/releases/" }
在對應模組(例如App)的
./build.gradle
檔案中,添加依賴,下載SDK。說明如果是舊版本SDK需要升級,請先刪除
.gradle
檔案中的下述座標:com.aliyun.alink.linksdk:iot-linkkit
com.aliyun.alink.linksdk:iot-device-manager
com.aliyun.alink.linksdk:public-channel-core
implementation ('com.aliyun.alink.linksdk:lp-iot-linkkit:1.7.3.8')
AndroidX特性支援
對於支援AndroidX特性的專案(模組的build.gradle
中包含關鍵字androidx),需要在gradle.properties
檔案中,配置如下內容:
android.enableJetifier=true
相關API
Android Link SDK的API說明,請參見LinkKit API。
擷取Demo
您可以下載物聯網平台提供的Android Link SDK Demo,將基於Android系統的裝置快速接入物聯網平台。
重要
下載本Demo預設您同意本軟體許可協議。
混淆配置
在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
-keepattributes Signature,InnerClasses
-keepclasseswithmembers class io.netty.** {
*;
}
-keepnames class io.netty.** {
*;
}
-dontwarn io.netty.**
-dontwarn sun.**
# keep mqtt
-keep public class org.eclipse.paho.**{*;}
# keep fastjson
-dontwarn com.alibaba.fastjson.**
-keep class com.alibaba.fastjson.**{*;}
# keep gson
-keep class com.google.gson.** { *;}
# keep network core
-keep class com.http.**{*;}
-keep class org.mozilla.**{*;}
# keep 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.**{*;}