安装Smart SDK之前,您需要在透视宝云端的“配置移动”页面中创建一个应用来获取App Key。为方便查看采集的数据,您需要为App应用设置一个有代表性的名称,可以是中文、英文、数字或三者的任意组合,但不能为空,否则无法获取App Key。
保存应用后,透视宝自动生成对应的App Key,安装Smart SDK时需要使用该App Key,如下图所示。
选择移动平台类型(Android)后,点击<下载Smart SDK for Android(版本)>按钮下载最新版本的Smart SDK安装包。解压下载的安装包后,开始安装配置Smart SDK。
安装Smart SDK
目前,Smart SDK支持在Windows、Linux和Mac环境中安装使用,请选择您的安装环境查看详细说明:
在Windows中安装Smart SDK
解压安装包后,双击运行install.bat脚本文件,打开命令窗口安装向导,如下图所示。
按照提示,输入1并按回车键,打开Android SDK路径的选择对话框,选择Android SDK的安装文件夹,如下图所示。
点击<打开>按钮开始安装Smart SDK,安装成功后,显示如下界面。安装后会默认启用Smart SDK来监控App并采集数据。
Android sdk 路径中不能包含空格和特殊字符。
选择Android sdk 路径,安装程序会检查sdk目录下是否存在build-tools目录,如果不存在,会直接返回“Android SDK路径错误,请重新选择!”的提示。
此时,如果要继续安装Smart SDK,需要重新运行install.bat脚本。
要卸载Smart SDK时,运行install.bat脚本文件。按照提示,输入2并按回车键,选择并打开Android SDK路径后,卸载Smart SDK即可。
在Linux环境中安装Smart SDK
解压安装包后,通过命令行定位到lib目录下,执行java –jar install.jar命令,如下图所示。
按照提示,输入1并按回车键,打开Android SDK路径的选择对话框并选择Android SDK的安装文件夹。
安装Smart SDK成功后,显示如下界面。安装后会默认启用Smart SDK来监控App并采集数据。
Android sdk 路径中不能包含空格和特殊字符。
选择Android sdk 路径,安装程序会检查sdk目录下是否存在build-tools目录,如果不存在,会直接返回“Android SDK路径错误,请重新选择!”的提示。
此时,如果要继续安装Smart SDK,需要重新执行java –jar install.jar命令即可。
要卸载Smart SDK时,运行install.bat脚本文件。按照提示,输入2并按回车键,选择并打开Android SDK路径后,卸载Smart SDK即可。
在Mac环境中安装Smart SDK
解压安装包后,通过命令行定位到lib目录下,执行java –jar install.jar命令,如下图所示。
按照提示,输入1并按回车键,打开Android SDK路径的选择对话框并选择Android SDK的安装文件夹。
安装Smart SDK成功后,显示如下界面。安装后会默认启用Smart SDK来监控App并采集数据。
Android sdk 路径中不能包含空格和特殊字符。
选择Android sdk 路径,安装程序会检查sdk目录下是否存在build-tools目录,如果不存在,会直接返回“Android SDK路径错误,请重新选择!”的提示。
此时,如果要继续安装Smart SDK,需要重新执行java –jar install.jar命令即可。
要卸载Smart SDK时,运行install.bat脚本文件。按照提示,输入2并按回车键,选择并打开Android SDK路径后,卸载Smart SDK即可。
配置App工程
安装Smart SDK后,需要在开发环境中配置待监控App的工程。Smart SDK(Android)在不同开发环境中的配置内容稍有不同,下面分别介绍在Eclipse环境和Android Studio环境中的配置过程。
——在Eclipse中配置
添加工程文件
将安装包中的cloudwise-mobile-distribute-1.0.jar文件添加到工程的libs目录下,将cloudwise-mobile.xml文件添加到工程的assert目录下。直接拖拽文件到对应目录下即可,添加成功后可查看对应文件,如下图所示。
添加成功后,把cloudwise-mobile-distribute-1.0.jar加入build path,如下图所示。
添加App Key
在cloudwise-mobile.xml文件中,添加创建应用时生成的App Key,如下图所示。
此外,您还可以根据提示设置以下内容:
n 是否启用debug:如果您在测试时需要使用可设置为true,但在正式发布App时强烈建议设置为false。
n 数据提交周期:设置采集数据的提交周期,单位为秒,可根据实际需要设置合适的时间。
设置网络权限
在AndroidManifest.xml 文件中,添加以下命令,从而使App具有访问网络和网络信息的权限。
<uses-permission android:name="android.permission.INTERNET/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
添加到<application></application>前面即可,如下图所示。
设置混淆
如果您的App工程使用了混淆,为了保证Smart SDK可以正常使用,请在proguard-project.txt文件的最后添加以下命令:
-keep class com.cloudwise.agent.app.** {*;} -dontwarn com.cloudwise.agent.app.** -keepattributes Exceptions, Signature, InnerClasses
集成Cloudwise NDK
如果要对Native类型的崩溃信息进行解析和还原,您还需要集成Cloudwise NDK,请点击界面中的链接进行下载。
请注意:目前Cloudwise的SO库(libCloudwise.so)只支持armeabi和armeabi-v7a架构,后续版本会支持arm64-v8a和x86等CPU架构。如果libs架构数与上述架构不一致,可能会出现“java.lang.UnsatisfiedLinkError”异常。
下载后解压zip包,按如下方式进行集成:
将Cloudwise NDK中libs目录对应的CPU架构目录下的SO库(libCloudwise.so)拷贝到应用工程中libs目录对应的CPU架构目录下即可,如下图所示。
编译工程
配置完成后,clean当前App工程并重新编译工程即可。
——在Android Studio中配置
添加工程文件
将安装包中的cloudwise-mobile-distribute-1.0.jar文件添加到工程的libs目录下,将cloudwise-mobile.xml文件添加到工程的assert目录下。直接拖拽文件到对应目录下即可,添加成功后可查看对应文件,如下图所示。
App工程中没有assert目录时,首先在src/main目录下新建一个目录并命名为assets,然后再将文件拖拽到该目录下即可。
添加App Key
在cloudwise-mobile.xml文件中,添加创建应用时生成的App Key,如下图所示。
此外,您还可以根据提示设置以下内容:
n 是否启用debug:如果您在测试时需要使用可设置为true,但在正式发布App时强烈建议设置为false。
n 数据提交周期:设置采集数据的提交周期,单位为秒,可根据实际需要设置合适的时间。
设置网络权限
在AndroidManifest.xml 文件中,添加以下命令,从而使App具有访问网络和网络信息的权限。
<uses-permission android:name="android.permission.INTERNET/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
添加到<application></application>前面即可,如下图所示。
设置混淆
如果您的App工程使用了混淆,为了保证Smart SDK可以正常使用,请在proguard-rules.pro文件的最后添加以下命令:
-keep class com.cloudwise.agent.app.** {*;} -dontwarn com.cloudwise.agent.app.** -keepattributes Exceptions, Signature, InnerClasses
集成Cloudwise NDK
如果要对Native类型的崩溃信息进行解析和还原,您还需要集成Cloudwise NDK,请点击界面中的链接进行下载。
请注意:目前Cloudwise的SO库(libCloudwise.so)只支持armeabi和armeabi-v7a架构,后续版本会支持arm64-v8a和x86等CPU架构。如果libs架构数与上述架构不一致,可能会出现“java.lang.UnsatisfiedLinkError”异常。
下载后解压zip包,将Cloudwise NDK中libs目录下的全部内容(CPU架构目录及对应的SO库libCloudwise.so)拷贝到应用工程子项目根目录的libs目录下即可。
请注意:如果应用工程子项目的根目录下中没有libs目录,需要在子项目根目录下手动创建该目录,然后再将Cloudwise NDK中libs目录下的全部内容拷贝到该目录下。
Android Sutdio中"子项目"即Module,如app。
需要注意的是,在拷贝之前,如果libs目录下原本没有任何SO库,为保证应用工程能够成功编译,您还需要执行以下操作:
在子项目的根目录下手动创建一个lib目录,同时在子项目根目录下的build.gradle文件中插入以下代码:
task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") { destinationDir file("$projectDir/libs") baseName "Cloudwise" extension "jar" from fileTree(dir: "libs", include: "**/*.so") into "lib" } tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn(nativeLibsToJar) }
这样,编译工程时,会在libs目录中自动生成名为Cloudwise的jar包,如下图所示。
编译工程
配置完成后,clean当前App工程并重新编译工程即可。
查看数据
至此,Smart SDK已经安装部署完成,在模拟器或真实设备中运行App。Smart SDK开始收集数据并生成分析报告,只需要稍等片刻,您就能在移动应用列表中查看数据。