在已经检查了这个1和2以及更多之后,我找不到答案所以......
我试图找到一种方法将我拥有的一些 C 代码包含到 Android 项目中,但不必直接在 Android 项目中提供源文件。我希望 Android 能够直接使用 C 代码的编译版本。所以我的想法是有一个测试 Android 应用程序,我在其中包含源 C 代码和 aCMakeLists.txt
并且它正确编译(使用忍者)并且应用程序正确运行。
它为不同的体系结构创建了这些输出文件夹,如图所示。
所以我的想法是提取这些文件夹
但我不确定如何从这里开始。
- 我怎样才能将它包含在应用程序中,或者即使这样就足够了?
- 有没有其他方法可以在不提供源代码的情况下将一些本机代码包含到 Android 应用程序中?
- 是否可以制作一个虚拟 gradle 插件并将此代码作为依赖项附加到它,以便我可以发布该插件并在 Android 应用程序中使用相同的插件?
显然,如果您保留名称jniLibs
Android Studio 可以理解该位置并将编译后的代码自动导入到 apk 中,因为这是 Android Studio 中 Java 本机代码的默认位置。
当我确实将文件夹jniLibs
放在正确的位置时app/src/main/jniLibs/(the architectures here)
,Android 应用程序正常工作而无需指定任何其他内容。
此外,正如我在这里看到的,您还可以为文件夹设置自定义名称,并在您的文件夹中指定以下内容app/build.gradle
android{
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句