Android.mk文件添加调试打印信息

前言

   你是否有过这么一个需求,就是Android的编译环境是由无数个Android.mk文件和其它类型mk文件组成的,为了方便调试你有时候是否想打印某些的变量。那么本篇文章就是带领大伙怎么调试Android.mk添加打印信息。

一.怎么添加

这个没有啥多说的,这个是一个实战性的篇章,直接上结论是最有效的了。下面让我们看看怎么添加打印信息。

1.1 打印语法

输出调试信息的类型一般有两种,直接输出字符串和输出变量信息,其语法规则如下:

  • 直接输出字符串语法如下:
#输出字符串的方式有如下三种,程度越来越高,有点像Android里面的Log等级
$(info string)    #一般打印信息,仅仅是显示调试信息
$(warning string) #警告级别打印信息,不会停止脚本运行,一般用于严重警告
$(error string)   #错误级别,会停止编译直接退出来
  • 输出变量方式语法如下:
#基本不适用error输出变量
$(info $(var))
$(warning $(var))

1.2 实战

好了前面已经将语法知识讲通透了,那么就得开始实战了,不然前面的不都白说了啊。人狠话不多,直接开撸。

1.2.1编写测试Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)$(info show info)
$(info $(TARGET_BUILD_VARIANT)) #打印变量$(warning show warning)
$(warning $(TARGET_BUILD_VARIANT))$(error done)

1.2.2编译

编译打印信息如下:

PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=9
TARGET_PRODUCT=msm8953_64
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=cortex-a53
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-141-generic-x86_64-Ubuntu-16.04.5-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=PKQ1.190504.001
OUT_DIR=out
============================================
QSSI: not enabled for msm8953_64 target as vendor/qcom/proprietary/release/QSSI/QSSI_enforced_targets_list.txt was not found.
ninja: no work to do.
ninja: no work to do.
No need to regenerate ninja file
out/build-msm8953_64-xxx_Android.mk.ninja is missing, regenerating...
device/qcom/msm8953_64/msm8953_64.mk:29: warning: "Build with 4.9 kernel"
show info
userdebug
xxx/Android.mk:7: warning: show warning
xxx/Android.mk:8: warning: userdebug
xxx/Android.mk:10: error: done.

写在最后

好了今天我要介绍的在Android.mk文件里面添加调试打印信息就到这里了,实战性的东西也木有啥好说的了。虽然不舍,还是得和大伙说再见了。各位江湖见。最后希望大家能点个赞或者拍砖。

Android.mk文件添加调试打印信息相关推荐

  1. 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译

     1  编写以下案例(下面的三个按钮都调用了底层的C语言): 项目案例的代码结构如下: 2 编写DataProvider的代码: package com.example.ndkpassdata; ...

  2. Android.mk文件语法规范

    序言: ------------- 此文档旨在描述Android.mk文件的语法,Android.mk文件为Android NDK(原生开发)描述了你C/C++源文件. 为了明白下面的内容,你必须已经 ...

  3. Android.mk文件语法规范及使用模板 (转载)

    2019独角兽企业重金招聘Python工程师标准>>> http://blogold.chinaunix.net/u3/99423/showart_2206760.html Andr ...

  4. Android.mk文件官方使用说明

    本页介绍了 ndk-build 所使用的 Android.mk 编译文件的语法. 概览 Android.mk 文件位于项目 jni/ 目录的子目录中,用于向编译系统描述源文件和共享库.它实际上是编译系 ...

  5. Android .mk文件语法规范及使用模板

    模块描述变量: 下面的变量用于向编译系统描述你的模块.你应该定义在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间定义.正如前面描写的那样,$(CL ...

  6. Android.mk文件语法规范及使用模板

    2019独角兽企业重金招聘Python工程师标准>>> Android.mk文件语法规范及使用模板 Android.mk文件语法规范 根据eoeandroid上的的连载,进行一些更新 ...

  7. Android.mk文件详解介绍

    Android.mk 编译文件是用来向 Android NDK描述你的 C,C++源代码文件的,   这篇文档描述了它的语法.在阅读下面的内容之前,假定你已经阅读了 docs/OVERVIEW.TXT ...

  8. 2020-11-02 Android LOG如何关闭打开打印信息

    Android LOG如何关闭打开打印信息 一.添加头文件和定义LOG_TAG 二.system/core/include/log/log.h 三.分析上面的代码,如果不想打印log,Android. ...

  9. Android.mk 文件语法详解

    0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build Syst ...

最新文章

  1. [JZOJ5459]【NOIP2017提高A组冲刺11.7】密室
  2. MaskedTextBox的聚焦和光标位置
  3. reactjs组件生命周期:componentWillReceiveProps及新旧版本生命周期钩子函数对比
  4. WCF 入门 WCF基础知识问与答
  5. [SIR数据集实验][2]Java类数据集相应工具使用的小经验
  6. CSS——FC(BFC/IFC/FFC/GFC)超详细版+原理案例分析
  7. mate30 e pro和mate30 pro的区别_新出的华为mate40跟华为mate40pro手机有何区别呢?
  8. 用到的lib、dll整理
  9. 赛锐信息:SAP订单统一管理系统
  10. vue+ 下拉框有选择项 点击选项也拿到值就是页面不显示选中项
  11. awakeFromNib 与 viewDIdLoad 自己小结
  12. 梯度,散度,旋度的概念
  13. win10熄屏时间不对_win10系统屏幕熄屏时间的设置方法
  14. 基于eclipse的android项目实战—博学谷(二十二)登录图片验证码
  15. C#基础+面向对象学习
  16. 【FreeRTOS】02 任务的创建
  17. 隐藏表白技能,python教你如何使用图片exif信息隐藏表白,教你如何修改,查询exif信息。
  18. CTF——web个人总结
  19. 学python还是scratch_我们的孩子该学习Scratch还是Python?
  20. sync.Pool 问题argument should be pointer-like to avoid allocations (SA6002)

热门文章

  1. 一周精彩内容分享(第 5 期):货拉拉悲剧的背后
  2. 最常见的常用性能测试工具推荐
  3. linux 安装clang,Centos7.6安装clang9
  4. @keyframes、transform详解与实例
  5. 宝林村智慧农业系统建设方案
  6. 信息融合动态与发展趋势
  7. java基础学习总结——基础语法(建议收藏,纯干货)
  8. 计算机怎么检测扫描机,如何对扫描仪进行常规的检测 -电脑资料
  9. VL34-整数倍数据位宽转换8to16。其中,先到的8bit数据应置于输出16bit的高8位!
  10. 【安装配置】流泪!!!!Windows下装faiss