全部产品
云市场

Android SDK 接入手册

更新时间:2020-04-28 10:22:16

在接入阿里云 SDK 之前,请明确:

  • 您已在阿里云移动研发平台 ( EMAS ) 上建立相关产品,并获得对应的appId和appSecret,以及加tlog.rasSecret

  • 日志在手机端上最多存储7天

一、Android SDK接入

此部分适用于使用gradle管理依赖的Android Studio项目,具体接入方法可参考阿里云Android Demo工程 中的ha_android_demo项目。

1.1 添加依赖

可以选择以下两种依赖接入方式:

1.1.1 Maven仓库依赖接入

在项目build.gradle中添加阿里云Maven仓库地址:

  1. repositories {
  2. maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
  3. }

app模块的build.gradle的dependencies节点内添加:

  1. compile('com.aliyun.ams:alicloud-android-ha-adapter:1.1.3.2-open@aar') {
  2. transitive=true
  3. }
  4. compile('com.aliyun.ams:alicloud-android-tlog:1.1.2.3-open@aar') {
  5. transitive=true
  6. }

1.1.2 本地依赖接入

控制台SDK下载页面选择“移动日志”产品下载并拷贝下载包内所有库文件放在项目的libs目录下;app模块的build.gradle根节点内增加:

  1. ```
  2. repositories {
  3. flatDir {
  4. dirs 'libs'
  5. }
  6. }
  7. ```

同时在build.gradle的dependencies节点内添加所有下载aar sdk库文件,文件如下:

  1. //1、本地jar库引入
  2. compile fileTree(include: ['*.jar'], dir: 'libs')
  3. //2、公共库
  4. compile (name: 'alicloud-android-ha-adapter-1.1.3.2-open', ext: 'aar')
  5. compile (name: 'alicloud-android-ha-core-1.1.0.6.1-open', ext: 'aar')
  6. compile (name: 'alicloud-android-ha-protocol-1.1.0.6-open', ext: 'aar')
  7. compile (name: 'alicloud-android-ha-tbrest-1.1.0.7-open', ext: 'aar')
  8. compile (name: 'alicloud-android-ha-protocol-1.1.0.6-open', ext: 'aar')
  9. compile (name: 'alicloud-android-utdid-1.1.5.3', ext: 'jar')
  10. compile (name: 'fastjson-1.1.54.android', ext: 'jar')
  11. //3、移动日志,不接入可注释掉
  12. compile (name: 'alicloud-android-tlog-1.1.2.3-open', ext: 'aar')
  13. compile (name: 'alicloud-android-ha-tlog-message-rpc-1.1.2.0-open', ext: 'aar')
  14. compile (name: 'alicloud-android-ha-telescopebase-1.1.0-open', ext: 'aar')
  15. compile (name: 'alicloud-android-ha-tlog-uploader-oss-1.1.0.6.2-open', ext: 'aar')
  16. compile (name: 'alicloud-android-ha-tlog-protocol-1.1.0.8-open', ext: 'aar')
  17. compile (name: 'alicloud-android-ha-telescopesdk-1.1.0.1-open', ext: 'aar')
  18. compile (name: 'alicloud-android-ha-tlog-native-1.1.0.6-open', ext: 'aar')
  19. compile (name: 'okhttp-3.4.1', ext: 'jar')
  20. compile (name: 'okio-1.9.0', ext: 'jar')
  21. compile (name: 'oss-android-sdk-2.4.2', ext: 'aar')

1.2 接入服务

在自定义Application类的onCreate里面启动服务:

  1. public class MyApplication extends Application {
  2. @Override
  3. public void onCreate() {
  4. initHa();
  5. }
  6. private void initHa() {
  7. Log.e("ha", "init");
  8. AliHaConfig config = new AliHaConfig();
  9. config.appKey = "xxxxxxxx"; //appkey
  10. config.appVersion = "x.xx"; //应用的版本号信箱
  11. config.appSecret = "xxxxxxxxxxxx"; //appsecret
  12. config.channel = "mqc_test"; //应用的渠道号标记,自定义
  13. config.userNick = null;
  14. config.application = this;
  15. config.context = getApplicationContext();
  16. config.isAliyunos = false; //是否为yunos
  17. config.rsaPublicKey = "xxxxxxx"; //tlog公钥, 在控制台下载 aliyun-emas-services.json文件,文件内的appmonitor.tlog.rsaSecret字段即为公钥信息(文件下载方式:在 EMAS控制台-> 应用管理 找到对应的应用,点击应用所在区块右上角菜单内的“配置下载”),必填
  18. AliHaAdapter.getInstance().addPlugin(Plugin.tlog);
  19. AliHaAdapter.getInstance().openDebug(true);
  20. AliHaAdapter.getInstance().start(config);
  21. }
  22. }

AndroidManifest.xml里面指定自定义Application:

  1. <application
  2. android:name=".MyApplication"
  3. android:allowBackup="true"
  4. android:icon="@mipmap/ic_launcher"
  5. android:label="@string/app_name"
  6. android:supportsRtl="true"
  7. android:theme="@style/AppTheme" >
  8. ...
  9. </application>

app模块的build.gradle的defaultConfig节点内添加,根据需要配置abi:

  1. ndk {
  2. abiFilters 'armeabi-v7a'
  3. }

1.3 使用

引入头文件:

  1. import com.alibaba.ha.adapter.service.tlog.TLogService;

示例代码:

  1. //设置可上传日志级别,默认 e 级别
  2. TLogService.updateLogLevel(TLogLevel.VERBOSE);
  3. String TAG = "xxx";
  4. String MODEL = "xxxxx";
  5. TLogService.logv(MODEL,TAG,"test tlog1");
  6. TLogService.logd(MODEL,TAG,"test tlog2");
  7. TLogService.logi(MODEL,TAG,"test tlog3");
  8. TLogService.logw(MODEL,TAG,"test tlog4");
  9. TLogService.loge(MODEL,TAG,"test tlog5");

二、混淆配置

如果开启了混淆,需要增加以下配置到您的混淆配置文件中:

  1. #keep class
  2. -keep interface com.taobao.tao.log.ITLogController{*;}
  3. -keep class com.taobao.tao.log.upload.*{*;}
  4. -keep class com.taobao.tao.log.message.*{*;}
  5. -keep class com.taobao.tao.log.LogLevel{*;}
  6. -keep class com.taobao.tao.log.TLog{*;}
  7. -keep class com.taobao.tao.log.TLogConstant{*;}
  8. -keep class com.taobao.tao.log.TLogController{*;}
  9. -keep class com.taobao.tao.log.TLogInitializer{public *;}
  10. -keep class com.taobao.tao.log.TLogUtils{public *;}
  11. -keep class com.taobao.tao.log.TLogNative{*;}
  12. -keep class com.taobao.tao.log.TLogNative$*{*;}
  13. -keep class com.taobao.tao.log.CommandDataCenter{*;}
  14. -keep class com.taobao.tao.log.task.PullTask{*;}
  15. -keep class com.taobao.tao.log.task.UploadFileTask{*;}
  16. -keep class com.taobao.tao.log.upload.LogFileUploadManager{public *;}
  17. -keep class com.taobao.tao.log.monitor.**{*;}
  18. #兼容godeye
  19. -keep class com.taobao.tao.log.godeye.core.module.*{*;}
  20. -keep class com.taobao.tao.log.godeye.GodeyeInitializer{*;}
  21. -keep class com.taobao.tao.log.godeye.GodeyeConfig{*;}
  22. -keep class com.taobao.tao.log.godeye.core.control.Godeye{*;}
  23. -keep interface com.taobao.tao.log.godeye.core.GodEyeAppListener{*;}
  24. -keep interface com.taobao.tao.log.godeye.core.GodEyeReponse{*;}
  25. -keep interface com.taobao.tao.log.godeye.api.file.FileUploadListener{*;}
  26. -keep public class * extends com.taobao.android.tlog.protocol.model.request.base.FileInfo{*;}
  27. -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

三、测试验证

在您完成上述步骤之后,您可以测试您的App,通过https://emas.console.aliyun.com 找到对应设备并下发日志提取指令,APP联网并到后台的情况下会上传日志,可在 拉取设备列表中找到对应的设备日志。

四、技术支持

EMAS通过钉钉群的形式为您的日常问题进行解答,钉钉群内会不定期推送更新通知等各类信息。请务必下载钉钉,包括PC版和移动版。

(1)EMAS组件服务钉钉群:

  • 性能分析:23166990
  • 远程日志:23352396
  • 崩溃分析:21763813
  • 移动热修复: 群四:23103350( 其它群已满 )
  • HTTPDNS: 11777313
  • 移动推送 11795523
  • 移动测试 11762195

(2)工单

可以通过工单提交问题反馈,工单提交地址为:https://selfservice.console.aliyun.com/ticket/createIndex