【问题标题】:How to call a C function from a react-native code?如何从 react-native 代码调用 C 函数?
【发布时间】:2018-05-21 16:22:34
【问题描述】:

我使用 react-native 开发了一个小型 android 应用程序。对于它的开发,它工作正常。现在为了满足一个小需求,我们需要调用一个用 C 编写的库。我不确定是否有办法从 JavaScript 调用 C 代码!但我还是想问问大家。

有没有办法从 react-native 做到这一点?就像我想调用 C 库中的一些函数一样。如果可能的话,你能建议怎么做吗?我怎样才能开始测试一个非常基本的设置?

【问题讨论】:

    标签: android c++ c react-native mobile


    【解决方案1】:

    你将不得不编写一些原生代码,搜索如何在 Android 上调用 C lib,然后寻找 react native 方法来链接原生代码和 js 调用。

    原生模块链接https://facebook.github.io/react-native/docs/native-modules-android.html

    关于如何在android上运行c/cpp代码的StackOverflow问题how to use c/cpp library/functions in android

    【讨论】:

    • 我有点困惑。你给的第一个链接是什么?它显示了一些Java代码?这相关吗?
    • React native 可以让你编写自己的原生代码,然后在你的 js 文件上调用它。您将不得不编写 Java 来调用 C 库,并基于该 java 创建一个本机模块,并使用第一个链接与您的 js 文件集成。
    • 这是更高级的 React Native 代码,你首先需要了解 React Native 是如何工作的,以及它的代码流程
    • 你的意思是,react-native 与 Java 通信,而 Java 与 C 通信?
    • 是的,你调用的每一个js组件背后,都已经有java代码了,react让我们写你自己写的原生代码,如果它们还没有实现的话。
    【解决方案2】:

    基本上它包括 3 个部分。

    JavaScript 到 Java 或 Kotlin

    查看 React Native 的 Android Native Module 指南。

    Java 或 Kotlin 到 C

    通过称为 Java Native Interface (JNI) 的机制启用从 Java 调用 C 函数。在这里查看how to add C and C++ code

    在此处查看更多信息https://thebhwgroup.com/blog/react-native-jni

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 2022-08-17
      • 2013-05-26
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      相关资源
      最近更新 更多