创建一个文件。那么使用android studio呢?

创建一个文件。那么使用android studio呢?,android,c++,c,android-studio,Android,C++,C,Android Studio,如何使用androidstudio从c源代码创建.a文件来代替.so 如果可能的话,我还想知道如何加载它们以及使用.a文件的优缺点。因此,Android依赖Java来加载本机代码。此调用使用加载动态库(通常与扩展名.so关联)。 动态库可以指定其他库作为其依赖项,这些依赖项将依次加载。 打开库后,JVM会探测库中具有特制名称的函数,这些函数绑定到相应的Java方法 相比之下,.a文件是一个静态库。它只是一个对象文件(.o)的存档,用于编译时通过静态链接使用 回答您的问题:是的,您可以修改CMak

如何使用androidstudio从c源代码创建.a文件来代替.so

如果可能的话,我还想知道如何加载它们以及使用.a文件的优缺点。因此,Android依赖Java来加载本机代码。此调用使用加载动态库(通常与扩展名
.so
关联)。 动态库可以指定其他库作为其依赖项,这些依赖项将依次加载。 打开库后,JVM会探测库中具有特制名称的函数,这些函数绑定到相应的Java方法

相比之下,
.a
文件是一个静态库。它只是一个对象文件(
.o
)的存档,用于编译时通过静态链接使用


回答您的问题:是的,您可以修改CMakeLists.txt来创建静态库,但最终您必须将这些库链接到一个动态库中,以便在Android中加载它。例如,请参见的底部部分,其中许多预构建的静态库通过一个
.cpp
文件链接在一起,以生成一个动态库。

为什么要这样做?我了解到c源代码也可以在.a文件中编译,并了解了更多关于它的信息,这两个文件在其他系统上的工作方式不同,但并没有找到安卓系统的任何资源。目前正在进行试验。