日志对于跟踪程序的运行非常重要。Android/ target=_blank class=infotextkey>安卓通常的日志是通过控制台打印,也可以通过一些组件记录到手机文件系统中。为了方便远程调试,可以把日志上云。 本文介绍安卓日志上阿里云日志服务的操作步骤。
准备工作:
阿里云支持的日志接入方式比较多,省去自己搭建集中化存储的麻烦:
到阿里云控制台,找到日志服务,创建project:
按提示填写即可:
上一步建完按提示操作,或者到Project控制台点新建按钮:
按提示信息进行填写,完成后类似这样:
点上图示例的按钮,选择Android-SDK:
按提示点下一步即可:
到右上角点accesskey管理:
按提示新建一个accessKey,分配查看权限和SDK访问权限。注意要把accessKey和secretKey都记录下来。
分配必要的权限:
# clone
$ git clone https://github.com/aliyun/aliyun-log-android-sdk.git
# access the directory
$ cd aliyun-log-android-sdk/aliyun-sls-android-sdk/
# 可使用下面命令编译,或直接使用android studio 打开示例项目
$ ../gradlew releaseJar
# location
$ cd build/libs && ls
如果提示缺少local.properties,可以自行创建一个,内容一般就是指向自己的SDK地址:
sdk.dir=D:\Documents\你的android-sdk地址
编译成功以后看到是这样的:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
public class MainActivity extends AppCompatActivity {
public final static int HANDLER_MESSAGE_UPLOAD_FAILED = 00011;
public final static int HANDLER_MESSAGE_UPLOAD_SUCCESS = 00012;
/**
* 填入必要的参数
*/
public String endpoint = "cn-beijing.log.aliyuncs.com"; // 按实际的区域填写值
public String project = "你的project名称";
public String logStore = "你的logstore名称";
public String source_ip = "这里可以填写身份标识,比如用户id或终端id之类,也可以空着";
public boolean isAsyncGetIp = false;
//client的生命周期和app保持一致
public LOGClient logClient;
...
...
private void setupSLSClient() {
// 移动端是不安全环境,不建议直接使用阿里云主账号ak,sk的方式。建议使用STS方式。具体参见
// https://help.aliyun.com/document_detail/62681.html
// 注意:SDK 提供的 PlainTextAKSKCredentialProvider 只建议在测试环境或者用户可以保证阿里云主账号AK,SK安全的前提下使用。
// 具体使用如下
// 主账户使用方式
String AK = "填入你的accessKey值";
String SK = "填入你的sk值";
到阿里日志服务上查看,如果没有意外就可以看到日志已经上云了:
自己项目里使用时 引用库:
implementation files('libs/aliyun-log-sdk-android-2.1.0.jar')
implementation group: 'com.aliyun.openservices', name: 'aliyun-log-android-sdk', version: '0.3.1'
implementation 'com.aliyun.openservices:aliyun-log-android-sdk-for-whr:2.1.0@jar'
implementation 'com.aliyun.dpa:oss-android-sdk:2.4.2'
implementation group: 'com.google.guava', name: 'guava', version: '29.0-android'
移动端不建议把ak,sk直接写入程序,阿里提供了获取授权的方式:
https://help.aliyun.com/document_detail/62681.html