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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了即使没有更改,ndk-build也会安装库。这可以改变吗?相关的知识,希望对你有一定的参考价值。

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

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

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

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

答案

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

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

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

以上是关于即使没有更改,ndk-build也会安装库。这可以改变吗?的主要内容,如果未能解决你的问题,请参考以下文章

即使哈希没有改变,jQuery地址哈希更改也会触发

XAMPP:即使我更改了 MySQL 端口,它也会被阻止

即使没有孩子,Kendo UI Treeview 也会显示曲折

为啥即使没有 SVN 更改,Jenkins 也会触发 IVY 构建?

即使没有更改联系人,也会调用内容观察者

即使没有分派任何操作,Redux 状态也会在加载时更改