草庐IT

hello-jni

全部标签

android - 调用 CallVoidMethod 时 JNI 崩溃

我正在尝试从Android应用程序中的nativeC代码调用java方法。使用JNI这听起来很简单,但我的代码在最终调用方法本身时总是崩溃。这是我的代码:nativeC代码:JNIEXPORTvoidJNICALLJava_com_path_to_my_package_renderStuff(JNIEnv*env,jobjectjobj){//...jclassclazz=env->FindClass("com/path/to/the/class");jmethodIDshowCar=env->GetMethodID(clazz,"showCar","()V");env->CallVo

新的指纹传感器漏洞可绕过 Windows Hello 登录

一项新的研究发现,戴尔Inspiron15、联想ThinkPadT14和微软SurfaceProX笔记本电脑上的多个漏洞可以绕过WindowsHello身份验证。这些漏洞是由硬件和软件产品安全研究公司BlackwingIntelligence的研究人员发现的,他们从这些设备中嵌入的Goodix、Synaptics和ELAN的指纹传感器中发现了这些漏洞。利用指纹读取器漏洞的前提条件是目标笔记本电脑的用户已经设置了指纹验证。这三种指纹传感器都是一种称为"芯片匹配"(MoC)的传感器,它将匹配和其他生物识别管理功能直接集成到传感器的集成电路中。研究人员JesseD'Aguanno和TimoTeräs

android - JNI 警告预期返回类型 'L' 调用 LocationManager.requestLocationUpdates

我正在使用Necessitas(Android中的QT)。基本上,使用AndroidNDK,androidActivity调用QT应用程序(.so)。我正在为GPS开发一些绑定(bind)。我想我到了那里,但是当我调用方法requestLocationUpdates(String,Long,Float,LocationListener)时,我收到了JNI警告(JNI警告预期返回类型“L”)。部分代码如下:midGetSystemService=currEnv->GetMethodID(actClass,"getSystemService","(Ljava/lang/String;)Lj

android - 如何在 JNI 中将 char[] 转换为 jstring?

在jni中,我想使用以下方法将char*转换为jstring:env->NewStringUTF(chm_pcText)它适用于英文文本,但对于中文文本失败,并得到以下消息:JNIWARNING:illegalcontinuationbyte.如何解决? 最佳答案 我只是解决它:两步,首先:将char*转换为jbyteArray,然后调用javaString的constructor生成jstring。strClass=global_env->FindClass("java/lang/String");ctorID=global_en

微软 Windows Hello 指纹认证被破解,多款笔记本电脑受影响

微软的WindowsHello指纹认证已经被破解,戴尔、联想和微软的笔记本电脑都受到影响。BlackwingIntelligence的安全研究人员发现了三款最受欢迎的指纹传感器的多个漏洞,这些传感器被企业广泛用于通过WindowsHello指纹身份验证保护笔记本电脑。微软的攻防研究和安全工程(MORSE)团队邀请BlackwingIntelligence评估指纹传感器的安全性,研究人员在10月份的微软BlueHat会议上展示了他们的研究成果。该团队选择了来自Goodix、Synaptics和ELAN的三款流行的指纹传感器作为研究对象,最近在一篇博客文章中详细介绍了构建一个可以执行中间人攻击(M

android - 一旦在编辑器中打开 C 文件,C JNI 代码就会在 Android Eclipse 项目中引入错误

这个问题在这里已经有了答案:Eclipsecompilessuccessfullybutstillgivessemanticerrors(8个答案)关闭6年前。我在Eclipse中设置了一个Android项目,它使用JNI访问C代码,在我打开其中一个C文件之前一切正常。完成后我得到这些错误:我尝试了很多东西,包括这个:SurprisebehaviorofeclipseforCfileswhileusingJNI,Whyso?我的NDK路径也是这样设置的:有人解决这个问题吗?请注意,关闭项目并重新打开会使问题消失,但一旦打开C源文件,问题就会再次出现。另请注意,如果我不打开C文件,该项目

android - Android 中的 FFMpeg jni?

我构建了Bambuser(http://bambuser.com/opensource)提供的FFMPEG可执行文件和库。所以我设法构建了Android可执行文件和库。如何在我的Eclipse项目中链接这些库并从Java调用FFmpeg函数?开源代码包括C头文件。我是Android原生编码的新手,对此我找不到简单的答案。基本:拥有一堆Android兼容库和一些C头文件,我需要做什么才能从java(+AndroidSDK)重用这些库的功能?如有任何帮助,我们将不胜感激。亲切的问候,为什么如何 最佳答案 您必须使用JNI约定编写一些C粘

java - Android 如何处理多个实例数据/身份和 JNI

这是一个良好实践和智能解决方案的问题,我需要一个建议。我有一个应用程序(据我在Stackoverflow和Google搜索中所见):该应用程序处理各种文档,我喜欢它可以同时处理多个文档。(我习惯了Win32,其中每个实例有一个程序段和一个数据段,但在Android/Java中显然不是这种情况。)我看到一个实例从应用存储(平板电脑)启动应用,另一个打开Gmail或带有附加文档文件的电子邮件,第三个实例从ES文件浏览器等文件处理应用打开文件。我喜欢它们都可以在两者之间翻转。用户可能希望一次阅读多个文档。(如果我在Android/Java环境中使用了单词实例错误,请纠正我)该应用程序构建在包

安卓 JNI : GetObjectClass crashes with SIGSEGV (not a valid JNI reference)

我正在尝试创建一个新线程,因此我将VM从我的方法初始化(从Java调用)传递到我的新线程。在线程中,我调用AttachCurrentThread并获取JNIEnv*env。稍后,我尝试使用环境调用GetObjectClass,但它崩溃了。我相信这是因为对象可能未初始化,但我正在尝试调用在包含native方法的类中定义的方法。我一直在尝试遵循http://java.sun.com/docs/books/jni/html/fldmeth.html的第4.2节(开头).非常奇怪的事情:我正在使用运行2.2的HTCDream进行测试并且以下代码不会崩溃,但是使用运行2.2.2的摩托罗拉Droi

android - 使用 C++ (JNI) 从 Java 对象读取整数字段

我正在尝试从C++访问Java类中的“int”字段;其实我也尝试过其他类型。不过我可以调用方法。但不能访问字段。我得到的是随机垃圾值,而不是我期望的值。这是我的Java代码:privateclassMYViewextendsView{publicMYView(Contextcontext){super(context);five=555;}publicintfive;....}C++部分:jobjectview=(jobject)Env->CallObjectMethod(Obj,jfindViewById,3);ClassMYView=Env->GetObjectClass(view