草庐IT

JNI_ASSERT

全部标签

JNI调用本机代码使用哪个类加载程序?

我有A.jar使用JNA调用一些本机代码B.dll,这又使用jni呼叫C.jar.班级A.jar所有的JNA都要求B.dll装有一个CustomClassLoader其中有C.jar和A.jar添加到其URL列表-A.jar的系统类加载程序没有C.jar在其URL列表中。当本机代码中B.dll呼叫env->FindClass('some/class/in/c.jar')它找不到课程。如果我删除CustomClassLoader并添加C.jar到URL列表A.jar的系统类加载程序,env->FindClass('some/class/in/c.jar')能够找到课程。但是,我真的很喜欢上课A.

Android集成OpenSSL实现加解密-JNI实现

定义JNI方法companionobject{init{System.loadLibrary("jnitest")}}externalfunencryptAES(data:ByteArray):ByteArray?externalfundecryptAES(data:ByteArray):ByteArray?使用OpenSSL方法实现AES加密和解密#include"include/openssl/aes.h"constchar*key_data="0123456789abcdef";extern"C"JNIEXPORTjbyteArrayJNICALLJava_com_test_jnites

java - 在 flink YARN 集群作业中使用 JNI

我有一个应用程序通过RemoteExecutionEnvironmentscalaAPI将ApacheFlink作业分派(dispatch)到AWSElasticMapReduceYARN集群。这些作业使用JNI通过C库运行部分计算。在开发过程中,我只是在RichCrossFunction的open()方法中调用了一个System.loadLibrary()来加载这个JNI库。这在LocalExecutionEnvironment中运行良好。现在我要转到RemoteExecutionEnvironment这似乎不再有效。看起来Flink每次分派(dispatch)作业时都在使用新的Cl

php - Symfony2 @Assert\Valid : traverse Vs deep

我有一个需要很长时间的简单表格:$builder->add('manufacturer','entity',array('class'=>'XBundle\Entity\Manufacturer',....))->add('type','entity',array('class'=>'XBundle\Entity\Entity\Type',))->add('size','entity',array('class'=>'XBundle\Entity\Size',))->add('serial','text',array('required'=>true,));安装xhproof并调查问题

java - JNI : javah mangles arguments that are inner classes

我有一个JNI函数,它传递android.graphics.Bitmap$Config作为参数。Config是Bitmap的内部类。当我运行javah时,我得到了错误的header签名(截断为单个参数):Landroid_graphics_Bitmap_Config相当于:Landroid/graphics/Bitmap/Config代替:Landroid_graphics_Bitmap_00024Config这是等价的Landroid/graphics/Bitmap$Configjavah生成的内容是错误的,因为JNI会抛出一个错误来寻找内部类的$的_00024表示。javah的人似

c# - 在添加自己的 LinearLayout 期间无法激活 JNI 句柄 - Xamarin Android

我正在基于thistutorial在XamarinAndroid中创建自己的日历.我将所需的一切从Java转换为C#,但现在当我启动应用程序并打开包含行中自定义日历的fragment时:publicoverrideViewOnCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){varview=inflater.Inflate(Resource.Layout.calendar_fragment_main,container,false);//System.NotSupportedEx

c - JNI/C 库 : passing byte ptr

我的C库中有一个unsignedchar*,我正在调用一个JNI导出的函数,该函数需要使用此数据设置一个java对象,最好是在byte[]中。但是这个函数会被调用的很频繁,而且要拷贝的数据也挺多的。是否可以使用ByteBuffer并将该ByteBuffer的指针分配给我的unsignedchar*?还是反过来才有效?我什至可以在不复制数据的情况下执行此操作吗?访问它的最佳方式是什么?unsignedchar*中数据的大小是已知的。 最佳答案 考虑到您提供的少量信息,这是一个可能的解决方案。在Java方面,您将:packagecom.

android - 什么是 jni/libs 文件夹?

我注意到,当在Eclipse中向项目添加native支持时,它会生成一个jni/libs/文件夹。这个文件夹是什么以及它是如何使用的,因为我在NDK文档中找不到它。来自NDK文档,acopyofyourprebuiltsharedlibrarywillbecopiedinto$PROJECT/obj/local,andanotherwillbecopiedandstrippedinto$PROJECT/libs/(abi).我注意到,当执行ndk-build时,这个目录被清除,一些库被放入其中。然而,通常情况下$Project/jni/libs中的库与$Project/libs不匹配。

java - JNI GetMethodID 在 native 线程中导致错误

在android中,我使用pthread_create创建一个本地线程,然后在回调过程中,调用FindClass来获取一个Java类。但它不起作用。我从androidjnitips得到提示我在FindClassfromanythreadinAndroidJNI中找到了解决方案我像这样为我的项目修改它[编辑]JavaVM*gJvm=nullptr;staticjobjectgClassLoader;staticjmethodIDgFindClassMethod;JNIEXPORTjintJNICALLJNI_OnLoad(JavaVM*pjvm,void*reserved){gJvm=p

java - JNI : Bitmap from unsigned char* always null

我想将图像(通过jni)从C++传递到android应用程序。我从一个unsignedchar*数组开始。这个数组没有任何损坏;我什至可以将它保存到ppm文件中,并在我的笔记本电脑上正确显示。然后,我使用此函数将其转换为jByteArray:jbyteArrayimgByte=as_byte_array(env,imgRaw,img.getRawImageSize());...jbyteArrayas_byte_array(JNIEnv*env,unsignedchar*buf,intlen){jbyteArrayarray=env->NewByteArray(len);env->Se