您可以使用物联网平台提供的Android Link SDK,搭建设备与物联网平台的双向数据通道。本文介绍使用Android Link SDK需进行的SDK工程配置。

配置SDK

  1. 在Android工程根目录下的基础配置文件./build.gradle中,加入阿里云仓库地址,配置仓库。
    allprojects { 
       repositories { 
         jcenter()
         google()
         // 阿里云仓库地址
         maven { 
                url "https://maven.aliyun.com/nexus/content/repositories/releases/" 
            }
        }
    }         
  2. 在对应模块(例如app)的./build.gradle文件中,添加依赖,下载SDK。
    compile('com.aliyun.alink.linksdk:iot-linkkit:1.7.2')
    compile('com.aliyun.alink.linksdk:public-channel-core:0.7.7.1') 
    compile('com.aliyun.alink.linksdk:iot-device-manager:1.7.5.0') 

混淆配置

在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.**{*;}           

配置AndroidManifest.xml文件

  1. 打开Android工程根目录下的./AndroidManifest.xml,在manifest一栏添加如下代码。
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        ....
  2. application一栏添加如下代码。
        <application
            tools:replace="android:allowBackup"
    
                            

获取Demo