我已经看到了许多使用 Cmake 在 Android Studio 中运行本机代码的答案,但是,关于如何将预编译的 C/C++ 库包含到 Android 中的答案却很少。以下是我尝试让本机库(首先尝试使用 .a)工作所采取的步骤。
1)mylib.c是我的C库,我想导入到Android Studio中
#include "mylib.h"
int total_foo;
int foo(float y, float z) {
total_foo = y + z;
return total_foo;
}
2)mylib.h是mylib.c的头文件
#ifndef _MYLIB_H_
#define _MYLIB_H_
#define MAX_FOO 20
struct foo_struct {
int x;
float y;
};
typedef struct foo_struct foo_struct;
extern int total_foo;
extern int foo(float y, float z);
#endif
3) .o 文件的命令(使用 NDK 和 make_standalone_toolchain.py)
$CC -o mylib.o -c mylib.c
4) .a 文件的命令
ar rcs mylib.a mylib.o
5) 创建一个原生 C++ 项目
现在这就是我被困住的地方。我已经创建了具有 Native C++ 支持的 Android Studio 项目,并且需要弄清楚将预编译的 mylib.a 文件放在哪里,以便能够使函数调用“foo”。我看到了所有不同类型的位置,例如 jniLibs 文件夹、 libs 和 cpp 文件夹。但没有示例说明之后要做什么。就像将 Native Library 添加到 Gradle 中一样。
*将代码放入 Android Studio 并使用 Cmake 已不再可行,因为我只有一个静态库文件。 *
TLDR:如何将预编译的 *.a 文件添加到 Android Studio 中。