即使没有更改,ndk-build也会安装库。这可以改变吗?

问题描述 投票:3回答:1

我在我的一个项目中使用Native Development Kit(NDK),我正在尝试使用Python自动化整个应用程序构建过程。

每当调用ndk-build时,它都会将预构建的共享库复制到libs/<abi>/,即使它们没有变化或者它们已经存在。当我稍后调用ant时,这会导致问题,因为它检测到更改的文件(库时间戳更新),因此无需任何需要重建apk。

有没有办法改变ndk-build行为,以便它检查libs/<abi>/文件夹中的现有库,如果他们需要更新或有些丢失,它将调用ndk-build,否则,只是继续下一个构建步骤?

我尝试在Python中使用filecmp,但由于预构建的共享库和已安装的共享库之间的时间戳不同,因此它不起作用。

android python android-ndk
1个回答
0
投票

OP可能不再需要这个了,但我遇到了完全相同的问题,尝试设置一个Makefile来构建一个项目,所以也许这对未来的其他人也有帮助。

ndk-build是gnu make的包装器,它在ndk的build/core目录中调用一堆Makefile,因此,虽然它不是普遍适用的*,但对于你的个人项目,你可以修改那些Makefile来做你想做的任何事情。我发现了几个构建/安装目标所依赖的clean-installed-binaries目标,删除这些依赖项解决了永久安装的问题。无论哪种情况需要清理目标,您都可以使用以下命令手动调用:ndk-build clean-installed-binaries

*考虑到有时间提出干净的选择加入解决方案,您可以向ndk项目提交补丁,如果被接受,它最终将变得普遍适用。

© www.soinside.com 2019 - 2024. All rights reserved.