JNI 中 jclass 的类名

2023-12-24

这可能是一个愚蠢的问题,暴露出对 JNI 缺乏理解。我正在编写一个封装 Java VM 的 C++ 程序:我使用 CallVoidMethod 等调用来调用 VM 内的函数。这纯粹是背景知识,与问题不太相关。

我希望能够找到给定 jclass 实例的 Java 类的名称。有什么办法可以做到这一点吗?我可以像在 Java 程序中那样调用 GetName 函数吗?


The jclass实例是您的对象,将在其上调用方法;你需要查找getName上的方法 IDClass类,然后在jclass实例使用CallObjectMethod获得一个jstring result.

简而言之,是的,你只需调用getName函数并查看jstring result.

EDIT

(错误处理已省略)

JNIEnv* env = ...;
// substitute your desired class's specifier for "java/lang/Class"...
jclass cls = env->FindClass("java/lang/Class"); 
jmethodID mid_getName = env->GetMethodID(cls, "getName", "()Ljava/lang/String;");
jstring name = env->CallObjectMethod(cls, mid_getName);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JNI 中 jclass 的类名 的相关文章

  • ldd 输出静态链接到共享库

    我正在尝试创建一个共享库 libddv3djava so 我编译 libddv3djava so 的源代码 如下所示 Programming intellijprojects ddv3dbindingstest src g c Wall W
  • Swig:将Java中的字节数组传递给C

    我正在尝试创建 Java 实现 以便使用 Swig 将 byte 传递给 C Swig include typemaps i apply char STRING int LENGTH char buff int len inline typ
  • jni 和在 java 中使用 c++ new'ed 对象

    我有一个与数据库对话的 C 层 这个 C 层执行一个新的 SomeObject 并将其返回给 java 我什么时候可以安全地通过 clean jni 调用删除 SomeObject 我可以在java返回对象后立即删除还是需要复制该对象然后删
  • 您的 APP_BUILD_SCRIPT 指向未知文件:./jni/Android.mk

    我正在尝试让 ndk gdb 工作 但遇到一些问题 我的项目结构是这样的 trunk indiana Here is the android manifest ubravo java mbravo here is the native co
  • JAVA JNI C 调试器

    是否有任何调试器可以帮助调试 Java JNI 程序以及 C 库 我应该能够在Java中从static void main开始调试程序 并继续调试并在本机c函数中放置断点 然后在控制权从C转移到Java后继续在Java中调试 Java 虚拟
  • 如何编译telegram jni文件夹

    我正在尝试编译电报源代码中的 jni 文件夹github com DrKLO Telegram http github com DrKLO Telegram 与NDK 但是当我在 ndk 文件夹中的 cmd 中编写 ndk build 时
  • 奇怪的本机崩溃 - pid:0,tid:0 信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR)

    我在 Android 上遇到了奇怪的崩溃 pid 0 tid 0 gt gt gt com oimvo discdj lt lt lt backtrace 00 pc 000000000001d050 data app com oimvo
  • 有没有办法防止 Tomcat 在加载的 JNI 库损坏内存时崩溃?

    我们有一个在 Tomcat 7 上运行的 Web 应用程序 它加载一个用 C 编码且由第三方开发的 JNI 库模块 基本上 这个库为我们的网络应用程序提供生物识别技术 我们不能为此使用全 java 解决方案 除了使用 JNI 库模块之外别无
  • 找不到 jni.h 文件 - 在 OS X El Capitan 上安装 node-java 模块

    我正在尝试安装node java允许 Node js 连接到现有的模块Java蜜蜂 这是我用来安装此模块的命令 须藤 npm 安装 java g 这是我收到的错误的堆栈跟踪 gt email protected cdn cgi l emai
  • 查找手动注册(混淆)的本机函数地址

    我试图理解一个 Android 应用程序 其中包含一个名为foo在班上com app Bar 课堂内Bar有一个加载共享对象的静态子句System loadLibrary libfoo so 我认为是用它构建的 f可见性 隐藏 https
  • 使用 Android NDK 将文件写入 SD 卡以外的位置?

    除了SD卡之外 还有其他方法可以将文件写入其他位置吗 我在文件系统上尝试了许多不同的路径 但 fopen 总是返回 NULL 除了我在 sdcard 内写入 读取的任何文件 还有其他相当于
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • 如何从默认包中导入类

    可能的重复 如何访问默认包中的java类 https stackoverflow com questions 283816 how to access java classes in the default package 我正在使用 Ec
  • 结果显示图像上有衬里

    我正在使用 opencv 和 android ndk 下面是我的 jni 代码 void Vignete Mat img1 Mat img2 Mat out resize img1 img1 img2 size img1 convertTo
  • JNI:无法获取数组长度

    我面临下一个问题 我无能为力byte jbyteArray 在C代码中 所有在 JNI 中使用数组的函数都会导致JNI DETECTED ERROR IN APPLICATION jarray argument has non array
  • Android NDK 模块依赖于另一个模块

    我有一个使用 Android NDK 编写的 Android 项目 在该项目中 我使用两个预构建的共享库 GpkgSDK 和 Spatialite 并构建另外两个共享库 WFSHelpers 和 com example gpkgviewer
  • 保持对 JNIEnv 环境的全局引用

    我正在储存JNIEnv在全局中 以便稍后我可以调用静态 java 方法 但是是否有必要存储一个指向JNIEnv 它们与任何其他 java 对象的方式相同 或者是一种不需要此的特殊情况 JNIEnv globalEnvPointer JNIC
  • 如何在Android上创建原生C++库?

    我需要用C 编写一个动态链接库 供Android上的Java使用 据我所知 它应该是 so 库 但我不知道该怎么做 我尝试了 Cygwin 但它崩溃了 海湾合作委员会1 cpp usr lib gcc i686 pc cygwin 4 3
  • 如何从c调用Java函数

    我被这个问题困扰了 我需要从 c c 调用 Java 函数 在示例和教程中 我只看到一个java应用程序调用一个c方法 并在同一个方法中调用另一个java方法 但我想做的是从代码的任何部分调用java方法 这就是我所拥有的 static J
  • 如何使用 microsoft Visual C++ 编写调用 JNI 的代码 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我如何编写C代码microsoft

随机推荐

  • 循环数据帧并从另一个数据帧获取相关数据:PANDAS

    我有一个包含客户所有交易数据的数据框 列是 mailid txn date 城市 现在我遇到的情况是 我必须考虑 2016 年 1 月 1 日以来的客户 对于每个 mailid 我必须从基本文件中获取他们的 txn 数据 并考虑他们最近 1
  • 如何使用远程系统上的 Ansible 任务移动/重命名文件

    如何使用远程系统上的 Ansible 模块移动 重命名文件 目录 我不想使用命令 shell 任务 也不想将文件从本地系统复制到远程系统 从2 0版本开始 in 复制模块 https docs ansible com ansible lat
  • 那些安装的未知程序是什么?

    有谁知道这些程序 GUIDes 是什么 我相信它们是 UWP 编程的一部分 因为当我在 Visual Studio 中运行调试时 这些程序出现在 已安装的程序 中 另外 在Windows 10的安装程序中看不到CCleaner Thanks
  • 在mysql中查找三个以上具有相同值的列

    我有多个列具有相同的值 我想找到超过 3 列的行 id 具有相同的值 each column is text blob 表结构就像 id col1 col2 col3 col4 col5 col6 col7 col8 col9 Unpivo
  • 使用 linq 对列表进行采样

    我需要一个辅助方法来将轴标签添加到图表中 我不想在图表中具有值的轴上的每个点添加标签 因为那样会变得太忙 所以我需要定期提取样本 到目前为止 我已经提出了以下满足要求的方法 但我认为必须有一种更简洁的方法来使用 Linq 来完成此任务 谁能
  • 使用 google-places-api 的简单 html 页面出现 ApiNotActivatedMapError

    我正在尝试创建一个简单的 html 页面 我稍后想在其中添加自动完成输入 其中包含 google places api 我有一个 api 密钥 已启用 但我仍然收到错误消息 这是我的 html but I get this error me
  • 如何在 Jekyll 中使用 markdownify 显示索引摘录

    我希望在索引页上显示较长帖子或页面的简短文本摘录 我本来打算在 Front Matter 中使用自定义变量并抓住它 但后来我看到了过滤器 excerpt 我看到在Jekyll 文档 http jekyllrb com docs templa
  • PowerShell 相当于“head -n-3”?

    我已经能够追踪基本的头 尾功能 head 10 myfile lt gt cat myfile select first 10 tail 10 myfile lt gt cat myfile select last 10 但是 如果我想列出
  • Java中是否可以在指定时间内停止函数的执行?

    我想知道如何在java中指定时间内停止指定函数的执行 例如 我可以调用一个名为 print data 的函数 如果执行需要更多时间 我将不得不停止该函数的执行 是否可以这样停止执行 提前致谢 您可以向函数添加一些检查 保存函数开始工作时的时
  • 在构建过程中如何从 docker 文件打印到控制台?

    假设您有一些 Dockerfile 需要向该文件添加什么 以便在构建期间将字符串 即 Hello World 打印到控制台 docker build RESEARCH 这个问题是 Google 中该主题的热门问题 我通过谷歌搜索并登陆这里进
  • 如何定期制作动画?

    我有一个故事板 可以使分针滑动 6 度 现在我希望分针永远每 59 秒滑动一次 故事板有什么属性或我可以做的任何其他方式吗 我的故事板
  • 如何在 spring-data mongodb 中将 updateOption 与 arrayFilters 一起使用?

    我在 Mongodb 中有一个如下所示的文档 现在 我想转到基于特定 的文档 id对于该文档 想要转到 计划 列表 其中对于几个特定日期 不仅是一个日期 而是多个日期 我想将状态更新为 已预订 我浏览了此链接 如何使用带有 arrayFil
  • CodeIgniter - CI_DB_mysqli_result 类的对象无法转换为字符串

    我目前正在使用 codeIgniter 我正在尝试根据电子邮件地址更新数据库中的密码 否则我会遇到问题 我使用在 CodeIgniter 网站上找到的以下代码来更新我的数据库 this gt db gt set field field 1
  • 哪里可以找到旧版本的 android ndk [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 好吧 你们很多人都会说这是重复的this https stackoverflow com questions 6849981 where
  • 那么如何将数据推送到承诺内的数组呢?

    我一直在试图弄清楚 如何将结果从 Promise 循环推送到数组 谁能指出我正确的位置 const ids 1 2 3 let results for let id of ids getLight id then light gt resu
  • 将夜间叠加层添加到谷歌地图 API

    我的 Angular 项目中有以下 html 部分
  • 如何更改 TemplateField 中 ItemTemplate 的命令文本和图像按钮

    我有一个带有 ImageButton 的列 我的数据库字段有bit数据类型 我希望我的记录在该列中具有真正的价值True jpg我的命令变成MakeFalse当它有错误值时显示False jpg我的命令变成MakeTrue 我怎样才能做到这
  • 如何在AS3中发送GET请求?

    我在这里看到这个例子 http damn ihateblue net 2011 09 24 actionscript 3 send getpost http damn ihateblue net 2011 09 24 actionscrip
  • 防止 Javascript 转义文本?

    声明 text section main 结果是 节 主 有没有办法阻止 Javascript 解释器将反斜杠视为转义字符并将其删除 我希望能够声明 section main 并在输出中保留反斜杠 节 main 注意 我意识到如果我使用两个
  • JNI 中 jclass 的类名

    这可能是一个愚蠢的问题 暴露出对 JNI 缺乏理解 我正在编写一个封装 Java VM 的 C 程序 我使用 CallVoidMethod 等调用来调用 VM 内的函数 这纯粹是背景知识 与问题不太相关 我希望能够找到给定 jclass 实