如何从C++;在Android上使用NDK使用Android Studio和Gradle? 我有一个C++项目,我想在其他项目中构建一个静态库来链接它。但是androidstudio和NDK只生成对我来说不可用的共享库对象(我需要静态对象)。我使用gradle插件来构建代码

如何从C++;在Android上使用NDK使用Android Studio和Gradle? 我有一个C++项目,我想在其他项目中构建一个静态库来链接它。但是androidstudio和NDK只生成对我来说不可用的共享库对象(我需要静态对象)。我使用gradle插件来构建代码,android,c++,gradle,android-ndk,Android,C++,Gradle,Android Ndk,代码编译时,我找不到获取“libname.a”文件的方法 有人知道Gradle背后的魔力吗?虽然对NDK不太熟悉,但Gradle支持构建本机静态库。您可以在中查看示例,或在gradle用户指南中了解更多信息 什么使你认为你需要静态对象?这可能有点问题-请参阅NDK发行版文档文件夹中CPLUSPLUS-SUPPORT.html的“静态运行时”段落。我们需要静态对象,因为我们无法在运行时加载库。我们的解决方案是一个非常seucred的模块,用于与远程服务器进行身份验证,因此我们不能将lib放在一个包

代码编译时,我找不到获取“libname.a”文件的方法


有人知道Gradle背后的魔力吗?

虽然对NDK不太熟悉,但Gradle支持构建本机静态库。您可以在中查看示例,或在gradle用户指南中了解更多信息

什么使你认为你需要静态对象?这可能有点问题-请参阅NDK发行版文档文件夹中CPLUSPLUS-SUPPORT.html的“静态运行时”段落。我们需要静态对象,因为我们无法在运行时加载库。我们的解决方案是一个非常seucred的模块,用于与远程服务器进行身份验证,因此我们不能将lib放在一个包中-我们需要将它们编译并放在二进制文件中。那么,我是否正确理解您的意思,您不想创建一个gradle任务来使用
ndk build
构建库?@super qua-No-我想使用gradle来构建静态库。但最后,我们需要一个共享对象,因为从我所读到的来看,我们似乎无法将静态库添加到android apk中。NDK构建通常不是直接在gradle下完成的,而是在NDK自己的makefile宏构建系统下完成的,gradle最好为此设置配置文件(现在更常见的情况是,忽略用户的尝试并设置自己不想要的默认值)。除非有人试图从NDK中导出一个跨工具链,并通过gradle调用gcc一步一步地构建,否则问题实际上是关于使用NDK的,第二个问题是关于防止gradle干扰。确切地说,NDK让我们能够生成相当简单的静态库。Android Stu中的gradledio可以注入NDK脚本,这可以创建一个静态库。但这是一个黑客行为,我个人不喜欢使用一些工具,因为它们本来就不应该被使用。目前,我们只使用从android studio项目的“JNI”文件夹调用的NDK build来构建库。