草庐IT

ExifInterface_JNI

全部标签

java - 使用 JNI 时出现 UnsatisfiedLinkError?

我想在linuxubuntu中使用JNI从Java程序调用C程序。我是新手,我已经尝试过http://www.ibm.com/developerworks/java/tutorials/j-jni/section2.html中给出的示例程序.我已经创建了.java、.h、.c和.so文件。但是,当我尝试运行该程序时,出现以下错误。Exceptioninthread"main"java.lang.UnsatisfiedLinkError:noSample1injava.library.pathatjava.lang.ClassLoader.loadLibrary(ClassLoader.

linux - Linux : cannot open shared object file 上的 JNI 问题

我在这里看到了这个问题,尝试了建议的修复,但到目前为止我没有成功。我有一些Java经验,但JNI是很久以前的事了,虽然从来没有在Linux上做过......我正在尝试让一个简单的HelloWorldJNI应用程序在Linux上运行。小java文件:classHelloWorld{privatenativevoidprint();publicstaticvoidmain(String[]args){newHelloWorld().print();}static{System.out.println(System.getProperty("java.library.path"));Syst

java - 如何在 Linux 上使用 GDB 调试 Java -JNI?

谁能指导如何使用GDB调试器在Linux上调试JNI代码(如果可能,请建议其他选项)。-MyJNIprojectwhenrunningonLinuxisleadingtoaJVMcrash.-TheCPPcodehasbeencompiledinto.sofiles.-Iruntheprojectlikethis:*javaxyz.jar-commandline_args_to_project*.我安装了Gdb,但不知道如何使用它调试项目。我还需要使用-g选项编译.cpp文件并调试.so文件吗? 最佳答案 启动您的Java应用程序使

java - Linux 上的 JDK 1.8 缺少 JNI 包含文件

我正在尝试编译以下项目:https://github.com/entropia/libsocket-can-java我总是收到此错误消息?有谁知道如何修复它,这可能是Linux(x64DebianWheezy)上JDK1.8.0.11中的错误吗?Infileincludedfromjni/de_entropia_can_CanSocket.h:2:0,fromjni/cansocket.cpp:23:/opt/jdk1.8.0_11/include/jni.h:45:20:fatalerror:jni_md.h:Nosuchfileordirectory#include"jni_md.

android - 如何将 JNI(C/C++ 原生代码)添加到现有的 Android Studio 项目

如标题所说——如何在不破坏当前项目的情况下,将原生代码添加到现有的AndroidStudio项目中,包括gradle和proguard设置? 最佳答案 从AndroidStudio3.1开始,它可能是简单的方法:1.创建cppapp\src\main内的文件夹.2。创建.cpp文件在app\src\main\cpp路径(例如native-lib.cpp)3.添加CMakeLists.txt文件至app文件夹。在该库的文件名中,.cpp应该定义文件路径和一些其他设置,例如(来自支持C++的新的空AndroidStudio项目):#Fo

android - FFmpeg 示例代码,用于从静止图像 JNI Android 创建视频文件

我如何修改以下FFMPEG示例代码,以便从我的android手机中的静止图像创建视频文件。我正在使用JNI来调用ffmpeg。JNIEXPORTvoidJNICALLvideoEncodeExample((JNIEnv*pEnv,jobjectpObj,jstringfilename){AVCodec*codec;AVCodecContext*c=NULL;inti,out_size,size,x,y,outbuf_size;FILE*f;AVFrame*picture;uint8_t*outbuf,*picture_buf;printf("Videoencoding\n");/*fi

Android NDK/JNI : Building a shared library that depends on other shared libraries

我正在编写一个android应用程序,它希望将JNI调用放入使用NDK内置的共享库中。诀窍是这个共享库调用其他共享库提供的函数。其他共享库是在别处编译的C库。这是我尝试过的:我的环境:我在Eclipse中工作。我添加了native支持并拥有一个jni库。在那个库中,我有我的代码和一个\lib目录,我在其中复制了我的其他.so文件。尝试#1Android.mk:告诉它库在哪里LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LOCAL_MODULE:=native_libLOCAL_SRC_FILES:=native_lib.cppLOCAL_LD

android - 在 JNI 方法上返回一个字符串数组

我需要从C++中获取字符串列表(char*)并将其返回给Java。我该怎么做?我认为一种解决方案是返回一个预定义的大字符串,例如:“[item1][item2]”,然后在Java上进行拆分,但这看起来不是正确的方法。 最佳答案 在JNI文档中查看NewObjectArray。基本上,您可以从JNI函数返回一个字符串数组(Java),然后将其转换为List或任何类型的Collection类型。伪代码:Java:....publicListgetFooAsList(){returnnewArrayList(this.getData())

android - 使用 JNI 复制字节缓冲区

我在Stackoverflow上找到了很多教程/问题,这些教程/问题涉及将char数组从C/JNI端复制到Java中的byte[]之类的东西中,但反之则不然。我正在使用一个需要字节数组的nativeC库。我只是想从java中的byte[]中获取数据,最好是C中的unsignedchar[]。长话短说:在JNI中从jBytearray复制数据的最佳方式是什么?有没有办法检测它的大小? 最佳答案 将Javabyte[]复制到nativechar*的最佳方法是使用GetByteArrayRegion调用。它完全符合您的要求:将全部或部分字

android - Android Studio 中的 JNI 文件夹

我正在尝试在AndroidStudio中制作helloy-jni应用,但我遇到了异常06-2713:17:19.09912714-12714/com.example.testjni2E/AndroidRuntime:FATALEXCEPTION:mainjava.lang.ExceptionInInitializerErroratjava.lang.Class.newInstanceImpl(NativeMethod)atjava.lang.Class.newInstance(Class.java:1319)atandroid.app.Instrumentation.newActivi