【发布时间】:2016-08-01 14:20:55
【问题描述】:
有没有办法将汇编代码包含到android studio中的本机库模块中。
既然post 说你只能在 srcDir 中包含 *.C、*.CPP、*.c++、*.cc、*.cp、*.cpp、*.cxx 文件,我想知道是否有也许是另一种解决方案或解决方法,至少可以使用本机库对其进行编译。
我想我可以预编译汇编代码,然后将它链接到我的本机模块,但是这样我会遇到一个问题,即我必须在每次更改时重新构建它,然后重新构建项目本身,这并不是一个很好的选择工作流程,所以如果您有更好的方法,请告诉我。
【问题讨论】:
-
等等,它不运行 make 来构建它?哦,好吧......(不期待在 gradle 下迁移我的 NDK 项目......因为我大量使用 Makefiles+
ndk-build来定义构建期间所需的一切和构建步骤)。难道没有一些简单的方法可以在 gradle 中编写运行 make 的自定义构建步骤吗? (我的意思是,它很时髦,所以它应该是可编程的?但我从来没有真正理解它,实际上整个 gradle 让我非常恼火,无论是通过它的性能还是构建过程定义的神秘方式。我一直在完全放弃它并编写 GNU make 规则的边缘。) -
因为你提到了它,我想我在某处读到你可以使用自定义 makefile 在 android studio 中构建它,我一定会看看它。
-
ndk-build本身确实使用 make,所以我不使用任何自定义设置来运行 make,我只是将自定义规则放入 NDK 示例中的那些常见 Makefile(并使用 ndk-build来自 NDK 的脚本来构建它)。可能有从 gradle 运行 ndk-build 的方法(因为您可能可以将任何内容编码到 gradle 中),但我还没有这样做。
标签: android android-studio assembly android-ndk android-gradle-plugin