Android.mk文件添加调试打印信息
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文件添加调试打印信息相关推荐
- 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译
1 编写以下案例(下面的三个按钮都调用了底层的C语言): 项目案例的代码结构如下: 2 编写DataProvider的代码: package com.example.ndkpassdata; ...
- Android.mk文件语法规范
序言: ------------- 此文档旨在描述Android.mk文件的语法,Android.mk文件为Android NDK(原生开发)描述了你C/C++源文件. 为了明白下面的内容,你必须已经 ...
- Android.mk文件语法规范及使用模板 (转载)
2019独角兽企业重金招聘Python工程师标准>>> http://blogold.chinaunix.net/u3/99423/showart_2206760.html Andr ...
- Android.mk文件官方使用说明
本页介绍了 ndk-build 所使用的 Android.mk 编译文件的语法. 概览 Android.mk 文件位于项目 jni/ 目录的子目录中,用于向编译系统描述源文件和共享库.它实际上是编译系 ...
- Android .mk文件语法规范及使用模板
模块描述变量: 下面的变量用于向编译系统描述你的模块.你应该定义在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间定义.正如前面描写的那样,$(CL ...
- Android.mk文件语法规范及使用模板
2019独角兽企业重金招聘Python工程师标准>>> Android.mk文件语法规范及使用模板 Android.mk文件语法规范 根据eoeandroid上的的连载,进行一些更新 ...
- Android.mk文件详解介绍
Android.mk 编译文件是用来向 Android NDK描述你的 C,C++源代码文件的, 这篇文档描述了它的语法.在阅读下面的内容之前,假定你已经阅读了 docs/OVERVIEW.TXT ...
- 2020-11-02 Android LOG如何关闭打开打印信息
Android LOG如何关闭打开打印信息 一.添加头文件和定义LOG_TAG 二.system/core/include/log/log.h 三.分析上面的代码,如果不想打印log,Android. ...
- Android.mk 文件语法详解
0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build Syst ...
最新文章
- [JZOJ5459]【NOIP2017提高A组冲刺11.7】密室
- MaskedTextBox的聚焦和光标位置
- reactjs组件生命周期:componentWillReceiveProps及新旧版本生命周期钩子函数对比
- WCF 入门 WCF基础知识问与答
- [SIR数据集实验][2]Java类数据集相应工具使用的小经验
- CSS——FC(BFC/IFC/FFC/GFC)超详细版+原理案例分析
- mate30 e pro和mate30 pro的区别_新出的华为mate40跟华为mate40pro手机有何区别呢?
- 用到的lib、dll整理
- 赛锐信息:SAP订单统一管理系统
- vue+ 下拉框有选择项 点击选项也拿到值就是页面不显示选中项
- awakeFromNib 与 viewDIdLoad 自己小结
- 梯度,散度,旋度的概念
- win10熄屏时间不对_win10系统屏幕熄屏时间的设置方法
- 基于eclipse的android项目实战—博学谷(二十二)登录图片验证码
- C#基础+面向对象学习
- 【FreeRTOS】02 任务的创建
- 隐藏表白技能,python教你如何使用图片exif信息隐藏表白,教你如何修改,查询exif信息。
- CTF——web个人总结
- 学python还是scratch_我们的孩子该学习Scratch还是Python?
- sync.Pool 问题argument should be pointer-like to avoid allocations (SA6002)