由于官方文档关于编译部分文档较少,摸索了半天终于编译成功。
所以本文记录下windows下编译Mars需要的配置,环境是windows10 64位。

切换指定XLog版本

需要切换到指定版本的代码再编译,其他XLog版本不保证能编译成功

git checkout 4c187bed

目前验证了能编译成功的commit有这些 :
commit : da02e90e,提交于2019年01月19日,对应XLog版本1.2.0
commit : 4c187bed,提交于2019年10月15日,对应 XLog版本1.2.3
commit : 6ccc3166,提交于2019年12月25日
commit : 209695fc,提交于2020年10月19日, 对应 XLog版本1.2.5

安装Python2.7.12

首先,我们下载Python2.7.12

然后验证Python安装是否成功

安装NDK

现在官方文档写的是ndk-r20,实测,现在ndk-r16依旧有效。我们去Android官网选择相应的NDK版本进行下载。

解压后,在环境变量中新建NDK_ROOT,值为NDK的目录

然后,将NDK_ROOT添加到PATH中

验证NDK安装是否成功

安装CMake

去CMake官网下载CMake,并安装。这里选择的版本是3.15.7。
安装成功后,验证安装是否成功

安装cygwin

windows还需要安装cygwin,具体详见我的这篇博客 Windows下安装cygwin
其中,需要要选择make, gcc gdb进行安装。



点击下一步,安装完成。

然后,需要将cygwin下的bin目录配置到环境变量PATH

进行配置

我们可以修改build_android.py,对编译进行配置,
比如
修改需要的 CPU 架构,默认只编译armeabi-v7a

比如,修改Android平台版本

进行编译

使用cmd进入Mars目录下,执行如下指令

Python build_android.py

可以看到,这里有4个选项。
如果是编译Mars,选择1或2,如果仅编译XLog,选择3。

我们这里选择3,稍等一会,就编译成功了。

接着,在mars\libraries\mars_xlog_sdk\libs\armeabi-v7a路径下,就可以看到,我们编译后的so文件了。

接着,我们把so复制到我们的项目中,就可以使用了。

XLOG系列

关于Xlog的使用详见Android 微信高性能日志存储库Xlog的使用
关于Xlog自定义格式存储详见Android Mars XLog 自定义存储格式

Android Mars XLog的编译相关推荐

  1. Android Mars XLog 自定义存储格式

    经过前两篇文章 Android 微信高性能日志存储库Xlog的使用 Android Mars XLog的编译 我们大概了解了XLog,但是微信开源的XLog日志库,格式是写死的,如下图所示 那我们如果 ...

  2. 腾讯mars xlog源码解析

    前言   之前由于公司发展需要,app网络请求日志始终没有一个良好的分析手段,故公司成立了apm项目小组,通过AOP编程获取app网络请求日志并上报到服务端,然后通过网页多维度分析用户网络请求数据,类 ...

  3. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  4. Android项目中创建编译期的注解

    ==注解 生命周期为RetentionPolicy.RUNTIME,可在运行时通过反射获取. 生命周期为RetentionPolicy.CLASS, 编译期处理的注解,可以使用APT(Annotati ...

  5. Android程序的反编译对抗研究

    转自: http://www.freebuf.com/tools/76884.html 一.前言 对抗反编译是指让apk文件或者dex文件无法正常通过反编译工具,而且有可能导致工具异常或者崩溃,如ap ...

  6. Android源代码下载与编译 - 2019

    Android源代码下载与编译 - 2019 (基于Ubuntu 18.10,适用于国内环境) 下载repo工具 如果没有下载repo脚本工具,请到清华mirror下载 curl https://mi ...

  7. 【Android】Eclipse自动编译NDK/JNI的三种方法

    [Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...

  8. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  9. 如何优化 Android Studio 启动、编译和运行速度?

    作为一名 Android 程序员,选择一个好的 IDE 工具可以使开发变得非常高效,很多程序员喜欢使用 Google 的 Android Studio来进行开发,但使用起来有时会出现卡顿等问题.本文介 ...

最新文章

  1. 程序员是复制粘贴的工具人?还是掌握“谜底”的魔术师?
  2. CentOS yum 源的配置与使用
  3. Linux网络编程——I/O复用之poll函数
  4. python3输入的input()坑
  5. CodeForces 407C
  6. 厦门理工学院2019年数据结构与算法考研初试大纲
  7. spring配置文件-------通配符
  8. linux 内核 网卡驱动 移植,Linux内核移植步骤_添加DM9000网卡驱动(设备树).docx
  9. python域名转ip_Python 实现域名解析为ip的方法
  10. WCF服务离线操作与消息队列MSMQ(转)
  11. ##智能优化算法复习--免疫算法IA
  12. PDCA是什么意思?
  13. PHP accesstoken失效,微信开发-ACCESS TOKEN 过期失效解决方案
  14. 如何测试短信接口调用代码
  15. 个人所得税 java_通过Java程序计算个人所得税
  16. 一个有意思的在线绘图(像Flash) - zas 的flash blog |闪客,RIA - 歪酷博客 Ycool Blog
  17. Ubuntu下载安装VSCode(解决安装失败问题)
  18. 购买学生服务器、备案域名、搭建博客菜鸟级教程
  19. 数据库系统概论----设计ER图
  20. Play-To-Earn游戏将接管电子游戏行业?

热门文章

  1. RuntimeError: Couldn‘t resolve requests
  2. eclipse官网下载不了eclipse开发工具的解决方法
  3. oracle的set函数,setex(oracle trunc函数)
  4. 华为路由器交换机eNSP配置命令
  5. 如何同时给多个视频加水印?
  6. N186_五险一金按名字和身份证汇聚(单表)
  7. 为云原生而生 DeepFlow破解混合云时代网络监控难题
  8. 程序实现金融租赁融资试算器 Financial Calculator
  9. 用office toll plus 安装office2019 vol版
  10. Jetpack LiveData