如何将已编译的 C 代码添加到 android studio 项目?
How to add already compiled C code to android studio project?
在检查了这个 1 and 和其他几个之后我找不到答案所以...
我正在尝试找到一种方法,将我拥有的一些 C 代码包含到 Android 项目中,但不必直接在 Android 项目中提供源文件。我希望 Android 可以直接使用 C 代码的编译版本。所以我的想法是有一个测试 Android 应用程序,我在其中包含源 C 代码和 CMakeLists.txt
并正确编译(使用忍者)并且应用程序 运行 正确。
它为不同的体系结构创建了这些输出文件夹,如图所示。
所以我的想法是提取这些文件夹
但我不确定如何从这里开始。
- 我怎样才能将它包含到应用程序中,或者这是否足够?
- 有没有其他方法可以在不提供源代码的情况下将一些本机代码包含到 Android 应用程序中?
- 是否可以制作一个虚拟 gradle 插件并将此代码作为依赖项附加到它,以便我可以发布该插件并在 Android 应用程序中使用相同的插件?
显然,如果您保留名称 jniLibs
Android Studio 可以理解该位置并自动将编译后的代码导入 apk,因为这是 java 本机代码的默认位置Android工作室。
当我确实将文件夹 jniLibs
放在正确的位置 app/src/main/jniLibs/(the architectures here)
时,Android 应用程序可以正常工作而无需指定任何其他内容。
此外,如我所见, 您还可以为您的文件夹自定义名称,并在 app/build.gradle
中指定以下内容
android{
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
在检查了这个 1 and
我正在尝试找到一种方法,将我拥有的一些 C 代码包含到 Android 项目中,但不必直接在 Android 项目中提供源文件。我希望 Android 可以直接使用 C 代码的编译版本。所以我的想法是有一个测试 Android 应用程序,我在其中包含源 C 代码和 CMakeLists.txt
并正确编译(使用忍者)并且应用程序 运行 正确。
它为不同的体系结构创建了这些输出文件夹,如图所示。
所以我的想法是提取这些文件夹
但我不确定如何从这里开始。
- 我怎样才能将它包含到应用程序中,或者这是否足够?
- 有没有其他方法可以在不提供源代码的情况下将一些本机代码包含到 Android 应用程序中?
- 是否可以制作一个虚拟 gradle 插件并将此代码作为依赖项附加到它,以便我可以发布该插件并在 Android 应用程序中使用相同的插件?
显然,如果您保留名称 jniLibs
Android Studio 可以理解该位置并自动将编译后的代码导入 apk,因为这是 java 本机代码的默认位置Android工作室。
当我确实将文件夹 jniLibs
放在正确的位置 app/src/main/jniLibs/(the architectures here)
时,Android 应用程序可以正常工作而无需指定任何其他内容。
此外,如我所见,app/build.gradle
android{
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}