对android.mk debug

1.DEBUG

android makefile编写一直是我这边的痛,目前找到一个好的办法对makefile进行debug的工作

$(warning value of LOCAL_OPPO_SRC_FILES is: $(LOCAL_OPPO_SRC_FILES)) 

如上就可以实现打印当前变量。

原文具体帖子见

       http://stackoverflow.com/questions/3826604/android-mk-debug-output

2.各种文件的拷贝方式:

可详见 http://stackoverflow.com/questions/14380357/copy-multiple-txt-files-in-system-using-android-mk

1.修改PRODUCT_COPY_FILES 

src_files := $(shell ls $(WRP_SRC_PATH)/)
PRODUCT_COPY_FILES += $(foreach file, $(src_files), \                                                                                                                
#$(WRP_SRC_PATH)/$(file):$(WRP_DST_PATH)/$(file))

2.利用shell命令

LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/*.apk  $(TARGET_OUT)/app/)

3.在Android.mk中添加宏

LOCAL_CFLAGS += -DHHHH 相当于在代码中定义了宏 #define HHHH

 

android.mk深入浅出系列

http://nfer-zhuang.iteye.com/category/261280

时间: 2024-11-01 09:25:41

对android.mk debug的相关文章

详解安卓系统中的Android.mk文件_C 语言

概述    Android.mk文件用来向编译系统描述如何编译你的源代码.更确切地说,该文件其实就是一个小型的Makefile.由于该文件会被NDK的编译工具解析多次,因此应该尽量减少源码中声明变量,因为这些变量可能会被多次定义从而影响到后面的解析.这个文件的语法允许把源代码组织成模块,每个模块属于下列类型之一:     APK程序:一般的Android程序,编译打包生成apk文件.     JAVA库:java类库,编译打包生成jar包文件.     C\C++应用程序:可执行的C/C++应用

浅析Android.mk

Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次. 所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析过程中定义. Android.mk文件语法允许我们将Source打包成一个"modules". modules可以是: 静态库 动态库. 只有动态库可以被 install/copy到应用程序包(A

我们也说说Android.mk(1) - 从函数说起

我们也说说Android.mk(1) 从函数说起 大家都习惯看从头,从构建目标讲起的,导致每篇文档熟的都是前面的部分.很多教程也都是想办法能够观其大略,从整体上给大家一个思路.比如<深入理解Android内核设计思想>的第4章,比如<Android内核剖析>的第18章,比如<深入解析Android 5.0系统>的第2章. 于是我打算反其道而行之,先从调用函数开始讲. 最后一招:shell函数 我们最先把最后看家的绝招列出来吧,shell函数,可以用来执行shell命令.

gps-请问Android.mk在哪里,需要自己写吗?求各位大侠指教。

问题描述 请问Android.mk在哪里,需要自己写吗?求各位大侠指教. 最近在做GPS练习,遇到系统权限问题.请问Android.mk在哪里?多谢各位大侠的帮助 解决方案 你是要做JNI还是在源码工程里编译? 如果是JNI的话,需要在工程目录里增加jni文件夹,里面放Android.mk文件 如果是编译整个Android源码的话,需要在对应的应用目录里放Android.mk文件 解决方案二: 我是要编译整个Android源码,Android.mk怎么编,能给点资料吗? 解决方案三: 建议你去看

关于在android源码编译时引用第三方jar宝--需要在android.mk中配置

今天进行android源码编译时出现一个问题,报错找不到文件,最后查看到那些找不到的问题全部都是第三方jar包里的引用文件,于是百度找解决办法.终于找到解决办法,现在分享给大家,我已经亲测通过了. 转自:http://www.cnblogs.com/hopetribe/archive/2012/04/23/2467060.html 开始正文: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_STATIC_JAVA_LIBRARIES

我们也说说Android.mk(3) - 宏

我们也说说Android.mk(3) - 宏 传统上我们一直称这种东西为makefile中的变量,其实本质上就是一个宏,只是做的是字符串替换.我们何如就把它叫做宏呢. 宏的命名 makefile的宏可以包含字符.数字.下划线.需要注意的一点是,宏就是宏,反正是要做字符串替换的,所以名字以数字开头是没问题的.makefile本身也不是用于数值处理的,以字符串为主. 使用一个宏的时候需要使用$符号,所以如果字符串中要使用shell变量,需要用$$. 从中可以看到,我们前面学到的函数,其实本质上也就是

我们也说说Android.mk(4) - 依赖:目标编程的模式

我们也说说Android.mk(4) - 依赖:目标编程的模式 另一种范式 我一直觉得,Makefile确实是C/C++程序员的良配,因为Makefile所使用的两种范式都是C/C++程序员不熟悉的,一种是函数式的思想,一种是依赖构成的目标链的模式. Makefile从最基本上来说,可以抽象成下面这样的: target ... : prerequisites ... command ... ... 如大家所熟悉的,这段的意义是:当prerequisites有更新的时候,执行command命令.如

我们也说说Android.mk(2) - 函数进阶教程 - 分支、循环、子程序

我们也说说Android.mk(2) 函数进阶教程 - 分支.循环.子程序 按照面向过程程序设计的标准流程,我们讲完了顺序结构,就要讲分支.循环和子程序.下面我们就开始讲用于分支.循环和子程序调用功能的函数. 分支函数 要走分支,一定是要有条件要判断. 在Makefile里,最主要的判断就是看字符串能不能找到了. 通过findstring函数来进行这个判断,然后用if函数使用findstring函数的结果. 例: .PHONY : all5 bootoatfile := out/target/p

android.mk中引用第3方 jar包的方法

在某一应用程序中有时候需要引用第三方jar包,那么怎么才能在编译app的时候把该jar包引入进入呢?  在该app下的Android.mk文件中添加如下语句:  ------------------------------start-----------------------------------------------  LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)  LOCAL_MODULE_TAGS := user eng  ##