我是靠谱客的博主 清爽高山,最近开发中收集的这篇文章主要介绍静态库调试android,如何为NDK静态库编写/调试Android.mk?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我正在尝试使用最新的

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?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部