有什么方法可以从 .c 和 .h 文件生成 JNI 文件吗?

发布于 2024-11-11 05:26:57 字数 192 浏览 3 评论 0原文

我为 android 编译了 Openssl,但我不知道如何从 java 访问这些函数。我想我需要某种 JNI 文件。有没有办法从生成libssl.solibcrypto.so相应的JNI文件>Openssl .c 和 .h 文件。

I compiled Openssl for android but I dont see how to access the functions from java. I think I need some kind of JNI files for that. Is there a way to generate the corresponding JNI files for the libssl.so and libcrypto.so from Openssl .c and .h files.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妞丶爷亲个 2024-11-18 05:26:57

看看 swig。它应该能够生成必要的 Java 和 C 代码,以允许您从 Java 调用 openssl 标头中定义的本机函数。

您应该能够简单地执行以下操作:

swig openssl.h

您将拥有一些代表 openssl.h 接口的 java 类,并且您将拥有一个需要为 android 进行交叉编译的 c 包装器(就像您为 openssl 所做的那样)。

在另一个节点上,您可能想看看 Bouncy Castle。这是 Android 中包含的加密系统(可通过 javax.net 访问.ssl - 阅读该链接,听起来好像 openssl 已包含在 android 中)。

Take a look at swig. That should be able to generate the necessary Java and c-code, to allow you to call the native functions defined in the openssl header from Java.

You should simply be able to do:

swig openssl.h

And you will have some java classes representing the openssl.h interface, and you will have a c-wrapper that you need to crosscompile for android (like you have done for openssl).

On another node, you might want to take a look at Bouncy Castle. This is the crypto system included in android (and accessible through javax.net.ssl - reading that link it sounds like openssl is included in android already).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文