【问题标题】:If I wrote some code in Android's runtime. What should I do if I want to call this code in the app?如果我在 Android 的运行时写了一些代码。如果我想在应用程序中调用此代码,我该怎么办?
【发布时间】:2019-10-13 01:55:15
【问题描述】:

由于我缺乏Android开发技能,不知道如何修复或查找相关资料。如果我在 Android 的运行时写了一些代码。如果我想在应用程序中调用这段代码该怎么办?

我在运行时编写了一些代码。并将编译好的 .so 推送到手机上。我转储了一些日志。看起来他们运行良好。但是现在,我不知道如何在应用程序中调用此代码。我应该在运行时编写一些JNI 代码吗?如果是这样,我还需要在应用程序中加载库吗?

【问题讨论】:

  • 你的描述很模糊。您编写了一些代码,大概是用 C++ 编写的,它在系统上下文中运行并在您的设备上执行某些操作。到目前为止,一切都很好。如果您希望此代码与其他代码通信,作为应用程序运行,您需要一些进程间通信机制。此类 IPC 协议中最简单的是 Unix 套接字。

标签: android java-native-interface


【解决方案1】:

是的,你必须玩JNIJNI 将充当您的 Java 代码和本机代码 C/C++ 之间的桥梁

我建议从简单的东西开始(不一定在 Android 内部)。您可以从简单的'Hello World' 开始。

http://jnicookbook.owsiak.org/recipe-No-001/

基本上,您需要的是通过JNI 从您的Java 代码访问您的本机代码。

有两种选择:

  • 您可以将所有内容(您的代码和基于 JNI 的代码)打包在一个 .so
  • 您还可以创建两个库:一个使用您的本机代码,另一个使用JNI 代码

http://jnicookbook.owsiak.org/recipe-No-023/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    相关资源
    最近更新 更多