Android端接入
SDK集成步骤
- 导入SDK
- 将NetSecKit-x.x.x.aar包拷贝到工程里的libs目录下。
- 在build.gradle配置文件中添加如下配置:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'NetSecKit-x.x.x', ext:'aar')
}
其中x.x.x表示版本号。
- 导入需要的ABI
SDK提供了armeabi, armeabi-v7a,x86,x86_64,arm64-v8a五种ABI的支持,默认会导出这五种ABI。
如果产品本身不支持这么多ABI,就需要对最终导出的ABI进行限制,不然在原产品不支持ABI的手机上会CRASH。
如果APP只需要支持特定的ABI,比如armeabi, armeabi-v7a, x86三种,可以在build.gradle添加如下配置:
defaultConfig {
applicationId "com.XX.XXX"
minSdkVersion XX
targetSdkVersion XX
versionCode XX
versionName "X.X.X"
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86"
}
}
- 添加权限信息
在AndroidMenifest.xml文件中添加下列权限配置:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- 添加ProGuard配置
如果使用了proguard进行混淆,需要将安全SDK使用的类排除掉。
如果是使用Android Studio里默认的 proguard-rules.pro,则在里面添加:
-keep class com.netease.NetSecKit.**{*;}
SDK接口说明
安全存储功能
- 添加头文件
import com.netease.NetSecKit.interfacejni.SecurityStore;
- 单例
Public SecurityStore(Context context)
功能描述:初始化SecurityStore类实例。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
context | Context | 任意Activity、Service等Coxtext类非空实例 |
返回值:无。
- 存储string
public int putString(String index,String inputData)
功能描述:客户端对输入的明文数据进行加密存储,其中index为该数据的索引值,具有唯一性。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
index | String | 字符串数据对应的索引值 |
inputData | String | 需要加密存储的字符串数据 |
返回值:成功,返回0;出错,详情请参考 [安全存储返回值说明]。
- 获取存储的string
public String getString (String index)
功能描述:返回index对应的原始数据。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
index | String | 原始数据对应的索引值index |
返回值:解密的结果,若出错,则返回“”。
- 更新已存储的string
public int updateString (String index,String inputData)
功能描述:将已存储的index对应的数据,更新为inputData。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
index | String | 字符串数据对应的索引值 |
inputData | String | 需要加密存储的字符串数据 |
返回值:成功,返回0;出错,详情请参考 [安全存储返回值说明]。
- 删除已存储的string
public int removeString (String index)
功能描述:将index对应的数据删除。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
index | String | 字符串数据对应的索引值 |
返回值:成功,返回0;出错,详情请参考 [安全存储返回值说明]。
- 存储buffer
public int putByteArray(String index,byte[] inputData)
功能描述:客户端对输入的明文数据进行加密存储,其中index为该数据的索引值,具有唯一性。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
index | String | 字符串数据对应的索引值 |
inputData | byte[] | 需要加密存储的byte数组数据 |
返回值:成功,返回0;出错,详情请参考 [安全存储返回值说明]。
- 获取存储的buffer
public byte[] getByteArray (String index)
功能描述: 返回index对应的原始数据。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
index | String | 原始数据对应的索引值index |
返回值:解密的结果,若出错,则返回的数组为空。
- 更新已存储的buffer
public int updateByteArray (String index,byte[] inputData)
功能描述: 将已存储的index对应的数据,更新为inputData。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
index | String | 字符串数据对应的索引值 |
inputData | byte[] | 需要加密存储的byte数组数据 |
返回值:成功,返回0;出错,详情请参考 [安全存储返回值说明]。
- 删除已存储的buffer
public int removeByteArray (String index)
功能描述:将index对应的数据删除。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
index | String | byte数组数据对应的索引值 |
返回值:成功,返回0;出错,详情请参考 [安全存储返回值说明]。
- 安全存储返回值说明
|返回值|说明| |------|------|-------| |-1|单例初始化失败| |0|操作成功| |1|索引值错误| |2|文件操作失败| |3|输入的数据为空| |4|图片校验失败| |5|试用过期|