概述
我正在尝试使用最新的
Android NDK(r5)构建一个静态库,我没有运气.我已经能够构建和运行示例(例如,HelloJni)而没有任何问题,但从’scratch’开始一个新项目是一个不同的故事.
对于这个实验,我正在尝试构建libpng.我的文件夹结构如下所示:
root
|
+--- jni
|
+---- Android.mk ( one line: "include $(call all-subdir-makefiles)" )
|
+---- png
|
+---- Android.mk ( see below )
|
+---- { a bunch of .c and .h files )
所以我有两个Android.mks.一个用于构建所有子项目,另一个用于libpng子项目. root / jni / png / Android.mk看起来像这样:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := png
MODULE_PATH := $LOCAL_PATH
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.c)
LOCAL_C_INCLUDES := $(wildcard $(LOCAL_PATH)/*.h)
LOCAL_INTERMEDIATE_TARGETS += junk
junk:
echo $(LOCAL_SRC_FILES)
include $(BUILD_STATIC_LIBRARY)
这个构建设置似乎什么都不做(即,即使在ndk-build清理之后,从根文件夹运行ndk-build也不会做任何事情).详细运行(ndk-build V = 1)显示了一些rm -f调用(删除不存在的文件夹),但没有与项目或子项目相关的任何内容.
我对这个构建脚本失败的原因很感兴趣,但是这个过程应该是微不足道的,所以我确定它没有什么特别有趣的.我对如何开始自己攻击构建错误更感兴趣.上面脚本中的echo调用永远不会被命中 – 我不知道如何确定它是什么值或者为什么它会跳过子项目.有没有人找到一种方法来了解构建系统正在尝试做什么?
我也有兴趣知道这些工具是否有文档,或者它是否只是NDK文档文件夹中的少数几个文本文件?我一直试图通过复制随机的Android.mk来解决这个问题,我发现它是通过谷歌搜索发现的,但只有简单的NDK样本中使用的少数命令似乎被记录下来,所以这种体验实际上只是提出了新的问题.
最后
以上就是清爽高山为你收集整理的静态库调试android,如何为NDK静态库编写/调试Android.mk?的全部内容,希望文章能够帮你解决静态库调试android,如何为NDK静态库编写/调试Android.mk?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复