# AILinkSecretToolDemo_Android #[English](README.md) ### 一、用途说明 AILinkSecretAndroid是在Android平台使用java/c++开发的蓝牙加解密工具包,该开发工具包能够扫描、连接使用AILink蓝牙模组的智能设备,负责App与蓝牙模组之间的握手与A7数据的加解密。 ### 二、必备条件 + 1. 已获取AILink蓝牙通讯协议 + 2. 拥有支持AILink蓝牙模块的智能设备 + 3. 具备Android原生开发和调试知识 ### 三、适用场景 + 1. 开发自己的原生平台app + 2. 使用RN、Uniapp、Flutter等跨平台技术开发app ### 四、导入SDK ``` 1.将JitPack存储库添加到您的构建文件中 将其添加到存储库末尾的root build.gradle中: allprojects { repositories { ... maven { url 'https://jitpack.io' } } } 2.添加依赖项 dependencies { implementation 'com.github.elinkthings:AILinkSecretAndroid:2.0.0'//加解密库 } 3.在gradle中配置java1.8 android { ... compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } repositories { flatDir { dirs 'libs' } } } ``` ### 四、SDK提供接口 AnalyticalDataUtil.java ``` /** app发送此A6数据主动开始与ble进行握手,返回byte[]需要主动发送给ble */ byte[] initHandshakeArr(); /** 如果可以拿到BluetoothGatt,可调用sendHandshake方法发送握手更简单 */ void sendHandshake(final BluetoothGatt gatt); /** 此方法将ble检验app的A6数据进行加密,app发给设备,否则设备将断开app,返回byte[]需要主动发送给ble */ byte[] initHandshakeArrPwd(byte[] hex); /** 如果可以拿到BluetoothGatt,可调用sendHandshakePwd方法发送握手更简单 */ void sendHandshakePwd(byte[] hex); /** A7数据解密方法 */ byte[] mcuDecrypt(byte[] hex, String mac); /** A7数据加密方法,cid为产品ID,ble协议中会包含 */ byte[] mcuEncrypt(int cid, String mac, byte[] payload); /** A7数据加密方法,cid为产品ID,ble协议中会包含 */ byte[] mcuEncrypt(int cid, String mac, byte[] payload); /** 广播数据解密方法 */ byte[] decryptBroadcast(byte[] payload); ``` ### 五、使用方法 具体用法详见AILinkSecretToolDemo