> 文档中心 > Mac下编译腾讯Mars的Xlog日志库

Mac下编译腾讯Mars的Xlog日志库


一、环境配置

运行环境:
1. 系统:Mac os Apple M1
2. Android Studio 4.0

配置环境:
1. 配置jdk环境
2. 配置ndk环境:
   下载android-ndk-r20b(其它版本可能会出现编译错误的问题),也可以在Android Studio里下载

   下载网址:https://developer.android.com/ndk/downloads/older_releases
   配置环境变量:
   验证ndk环境是否配置成功
   输入命令:ndk-build -v 
            
3. 配置CMake环境
     安装Cmake
     验证CMake是否安装成功
     命令cmake --version (我安装的是3.22.1)
            
4. 配置Python环境             
     命令1:安装Python(mac有自带 我这里是2.7)
         
     命令2:验证Python是否安装成功
            python

二、编译所需库

1. 下载mars源码,git仓库地址为:https://github.com/Tencent/mars

2. 进入源码中:mars/mars目录,执行脚本
    生成armeabi-v7a架构:python build_android.py (默认生成)
    生成arm64-v8a架构:python build_android.py (修改此文件中的arch参数为arm64-v8a)
    
    选择3,然后Enter,只生成xlog模块的库;
    
    其它架构生成方式也是如此;

3. 生成后的库保存在:sample/mars-master/mars/libraries/mars_xlog_sdk/libs目录下;

三、遇见问题

1.在使用NDK编译时 可能会遇到NDK不支持arm64错误

Unknown host CPU architecture arm64

需要把NDK目录下的build文件修改一下

改为以下代码

#!/bin/sh# 原脚本# DIR="$(cd "$(dirname "$0")" && pwd)"# $DIR/build/ndk-build "$@" # 新脚本DIR="$(cd "$(dirname "$0")" && pwd)"arch -x86_64 /bin/bash $DIR/build/ndk-build "$@"

 2.运行python build_android.py脚本时报错build fail

我这里的原因是cannot find -lzstd

然后我使用brew install libstdc++-static安装了一下、再次运行python脚本就成功了