Android端接入

2022.02.14 18:32:34

    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.SecruityInfo;
    
    • 单例
        Public SecruityInfo(Context context)
    

    功能描述:初始化SecruityInfo类实例。

    参数说明:

    参数名称 参数类型 参数说明
    context Context 任意Activity、Service等Coxtext类非空实例

    返回值:无。

    • string加密
        public String encryptStringToServer (String inputData, int type) 
    

    功能描述:客户端对输入的明文数据进行加密,然后返回密文,这个密文是发送到服务器的。

    参数说明:

    参数名称 参数类型 参数说明
    inputData String 需要加密保护的字符串数据
    type int 加密算法类型,0代表标准加密,1代表国密

    返回值:加密的结果,若出错,则返回“” 。

    • string解密
        public String decryptStringFromServer (String inputData, int type)
    

    功能描述:客户端对输入的密文数据(密文来自服务器)进行解密,然后返回明文。

    参数说明:

    参数名称 参数类型 参数说明
    inputData String 需要解密还原的字符串数据
    type int 加密算法类型,0代表标准加密,1代表国密

    返回值:解密的结果,若出错,则返回“”。

    • buffer加密
        public String encryptBufferToServer (byte[] inputData, int type) 
    

    功能描述:客户端对输入的明文数据进行加密,然后返回密文,这个密文是发送到服务器的。

    参数说明:

    参数名称 参数类型 参数说明
    inputData byte[] 需要加密保护的byte数组数
    type int 加密算法类型,0代表标准加密,1代表国密

    返回值:加密的结果,若出错,则返回“”。

    • buffer解密
        public byte[] decryptBufferFromServer (String inputData, int type)
    
    

    功能描述:客户端对输入的密文数据(密文来自服务器)进行解密,然后返回明文。

    参数说明:

    参数名称 参数类型 参数说明
    inputData byte[] 需要解密还原的字符串数据
    type int 加密算法类型,0代表标准加密,1代表国密

    返回值:解密的结果,若出错,则返回“”。

    • 注意事项

    加解密的算法类型,必须保持一致!

    Online Chat Tel:95163223