阅读1079 返回首页    go 同花顺


接入前准备__Android_安全组件教程_移动安全-阿里云

1 获取安全组件与加密图片

请联系商务人员,下载安全组件SDK和安全加密图片(yw_1222_0335.jpg),联系方式:

1)工单系统

2)邮箱:mobilesecurity@service.alibaba.com

3)客服旺旺:1435906194

安全组件分为两种版本,一种是AndroidStudio使用的aar,另一种是Eclipse使用的jar和so,两种版本功能一致,可以根据接入方式选择对应版本,如下表所示:

AndroidStudio Eclipse
SecurityGuardSDK-${version}.aar SecurityGuardSDK-${version}.jar libsgmain.so
安全加密图片文件名为yw_1222_0335.jpg。

注意:基础版只包含SecurityGuardSDK这一个组件,若需要更多功能,可购买专业版(包含SecurityBodySDK和NoCaptchaSDK),但是接入方式相同。

2 集成前准备

安全组件在阿里巴巴的很多开放的sdk中也有包含,比如百川(TAE),支付宝开放sdk等。安全组件不能存在两份,所以如果你的apk中同时引入了这些sdk,则在集成安全组件的之前需要将这些sdk(TAE,支付宝等)中包含的安全组件删掉。

需要删掉SecurityGuardSDK-${version}.aar和libsecuritysdk-${version}.so或者SecurityGuardSDK-${version}.jar和libsgmain.so,但是需要保留图片文件:yw_1222*.jpg。

然后再使用第3章的方法将刚才从聚安全网站上面下载的SDK和图片集成到项目中。

3 开发流程

根据接入方式不同使用不同方式导入SDK,AndroidStudio使用aar方式导入,Eclipse使用jar和so方式导入。

3.1 导入aar

如图把所有的aar都复制到项目的libs目录下,然后在该Module的build.gradle中增加如图配置:导入aar

3.2 导入jar包和so

把SDK中的所有的jar包和so文件都复制到工程的libs目录下:导入jar包和so目前提供两种架构下的so文件,armeabi是针对arm架构编译的包,x86是针对x86架构编译的包。应用程序在不同cpu架构的机型里会选择相应的so文件加载。

注意: 如果在想在x86的模拟器上运行你的程序,必须导入x86架构的so,但是可以在应用发布时去掉x86目录下的so。

3.3 导入加密文件

第一步中已经得到了加密文件yw_1222_0335.jpg,现在需要把这个加密文件导入到工程中 resdrawable目录下,如果没有这个文件夹,请先创建。

下方左图为AndroidStudio中安全加密图片位置,右图为Eclipse中安全加密图片位置。导入加密文件

3.4 添加权限信息

如果是AndroidStudio项目,则不需要在项目中额外配置权限,因为在aar中我们自己已经声明了权限。

如果是Eclipse项目,需要在AndroidMenifest.xml文件中添加下列权限配置:

<uses-permission android:name=”android.permission.INTERNET” />

<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />

<uses-permission android:name=”android.permission.READ_PHONE_STATE” />

<uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” />

<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />

<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />

<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />

<uses-permission android:name=”android.permission.WRITE_SETTINGS” />

3.5 添加 ProGuard 配置

如果使用了proguard进行混淆,也根据接入方式的不同而分为Eclipse和AndrodStudio两种情况。

Eclipse:如果在project.properties中指定了proguard配置,比如在project.properties中有如下的语句:proguard.config=proguard.cfg,则表明使用了proguard进行混淆,混淆配置在proguard.cfg文件中:

添加ProGuard配置

AndroidStudio:

如果在build.gradle中配置了proguardFiles,并且开启了minifyEnabled,如图所示,则表明使用proguard-rules.pro这个配置文件进行混淆。

AndroidStudio

为了保证我们需要的一些类不混淆,因此需要在proguard的配置文件中添加一些指令,也就是加入以下配置到proguard的配置文件里面:

-keep class com.taobao.securityjni.**{*;}

-keep class com.taobao.wireless.security.**{*;}

-keep class com.ut.secbody.**{*;}

-keep class com.taobao.dp.**{*;}

-keep class com.alibaba.wireless.security.**{*;}

3.6 调用安全组件

项目配置完成之后,就可以写代码调用安全组件了,详细请参考接口文档

最后更新:2016-11-23 16:04:13

  上一篇:go 仿冒检测示例代码__Java-SDK_SDK手册_移动安全-阿里云
  下一篇:go 接口文档__Android_安全组件教程_移动安全-阿里云