普通安装(Android SDK)


选择“普通安装”,点击<下载Smart SDK for Android(版本)>按钮下载最新版本的Smart SDK安装包。解压下载的安装包后,开始安装Smart SDK,目前支持在Windows、Linux和Mac环境中安装使用,详细说明如下。



在Windows环境中安装

解压安装包后,双击运行install.bat脚本文件,打开命令窗口安装向导,如下图所示。

16.png

按照提示,输入1并按回车键,打开Android SDK路径的选择对话框,选择Android SDK的安装文件夹,如下图所示。

17.png

点击<打开>按钮开始安装Smart SDK,安装成功后,显示如下界面。安装后会默认启用Smart SDK来监控App并采集数据。

18.png

  • Android sdk 路径中不能包含空格和特殊字符。

  • 选择Android sdk 路径,安装程序会检查sdk目录下是否存在build-tools目录,如果不存在,会直接返回“Android SDK路径错误,请重新选择!”的提示。

19.png

此时,如果要继续安装Smart SDK,需要重新运行install.bat脚本。

要卸载Smart SDK时,运行install.bat脚本文件。按照提示,输入2并按回车键,选择并打开Android SDK路径后,卸载Smart SDK即可。



在Linux环境中安装

解压安装包后,通过命令行定位到lib目录下,执行java -jar install.jar命令,如下图所示。

20.png

按照提示,输入1并按回车键,打开Android SDK路径的选择对话框并选择Android SDK的安装文件夹。

安装Smart SDK成功后,显示如下界面。安装后会默认启用Smart SDK来监控App并采集数据。

21.png

  • 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环境中安装

解压安装包后,通过命令行定位到lib目录下,执行java -jar install.jar命令,如下图所示。

22.png

按照提示,输入1并按回车键,打开Android SDK路径的选择对话框并选择Android SDK的安装文件夹。

安装Smart SDK成功后,显示如下界面。安装后会默认启用Smart SDK来监控App并采集数据。

23.png

  • 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文件添加到工程的assets目录下。直接拖拽文件到对应目录下即可,添加成功后可查看对应文件,如下图所示。

24.png

添加成功后,把cloudwise-mobile-distribute-1.0.jar加入build path,如下图所示。

25.png

添加App Key

在cloudwise-mobile.xml文件中,添加创建应用时生成的App Key,如下图所示。

26.png

此外,您还可以根据提示设置以下内容:

  • 是否启用debug:如果您在测试时需要使用可设置为true,但在正式发布App时强烈建议设置为false。

  • 数据提交周期:设置采集数据的提交周期,单位为秒,默认为 60s,可根据实际需要设置合适的时间。


设置渠道名称

您可以在AndroidManifest.xml文件中设置App下载渠道的名称,添加以下代码到<application>中即可。其中,Android:name为CloudwiseChannel,Android:value为渠道名称,可以自定义一个名称。

<!-- 设置渠道号 -->
<meta-data android:name="CloudwiseChannel"
android:value="渠道名称"></meta-data>


27.png

设置网络权限

在AndroidManifest.xml 文件中,添加以下命令到<application></application>前面,从而使App具有访问网络和网络信息的权限。

<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"/>

设置混淆

如果您的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架构目录下即可,如下图所示。

28.png


集成libcurl.so库

如果coco2d-x App需要监控CURL网络协议,需要替换libcurl.so库,具体的替换方式如下:

点击页面中的“下载libcurl.a”链接下载zip包。解压缩后,将其中libcurl.a文件文件拷贝至cocos工程中来替换jni目录的CPU架构目录下的libcurl.a文件。

libcurl.a目前只支持armeabi和armeabi-v7a两种CPU架构。

29.png


在Android Studio中配置

添加工程文件

将安装包中的cloudwise-mobile-distribute-1.0.jar文件添加到工程的libs目录下,将cloudwise-mobile.xml文件添加到工程的assert目录下。直接拖拽文件到对应目录下即可,添加成功后可查看对应文件,如下图所示。

30.png

注意:App工程中没有assert目录时,首先在src/main目录下新建一个目录并命名为assets,然后再将文件拖拽到该目录下即可。

添加App Key

在cloudwise-mobile.xml文件中,添加创建应用时生成的App Key,如下图所示。

31.png

此外,您还可以根据提示设置以下内容:

  • 是否启用debug:如果您在测试时需要使用可设置为true,但在正式发布App时强烈建议设置为false。

  • 数据提交周期:设置采集数据的提交周期,单位为秒,默认为 60s,可根据实际需要设置合适的时间。

设置渠道名称

您可以在AndroidManifest.xml文件中设置App下载渠道的名称,添加以下代码到<application>中即可。其中,Android:name为CloudwiseChannel,Android:value为渠道名称,可以自定义一个名称。

<!-- 设置渠道号 -->
<meta-data android:name="CloudwiseChannel"
android:value="渠道名称"></meta-data>


32.png

设置网络权限

在AndroidManifest.xml 文件中,添加以下命令到<application></application>前面,从而使App具有访问网络和网络信息的权限。

<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"/>

设置混淆

如果您的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”异常。

 如果项目中已经有SO库使用的情况,下载后解压zip包,将Cloudwise NDK中libs目录下的全部内容(CPU架构目录及对应的SO库libCloudwise.so)拷贝到应用工程子项目根目录的libs目录下即可。

如果项目中没有SO库使用的情况,下载后解压zip包,将Cloudwise NDK中libs目录下的全部内容(CPU架构目录及对应的SO库libCloudwise.so)拷贝到app (类似Eclipse中的project)目录下的libs目录下即可,如下图所示。

33.png

然后,在相应的build.gradle(module:APP)文件中添加如下代码:

sourceSets {
    main {
      jniLibs.srcDirs = ['libs']
    }
}


34.png

集成libcurl.so库

如果coco2d-x App需要监控CURL网络协议,需要替换libcurl.so库,具体的替换方式如下:

点击页面中的“下载libcurl.a”链接下载zip包。解压缩后,将其中libcurl.a文件文件拷贝至cocos工程中来替换jni目录的CPU架构目录下的libcurl.a文件。

libcurl.a目前只支持armeabi和armeabi-v7a两种CPU架构。

35.png