草庐IT

concrypt_openjdk_jni

全部标签

java - Android JNI 从 Java 类中获取两个字段

在我发布任何代码或任何内容之前,让我解释一下我要完成的工作:我想要做的是从Assets文件夹中获取加载着色器,并将一组PongDroidShader对象传递给C++,以便它可以编译和加载它们。在我的Java类中,我有一个函数遍历shaders文件夹中的每个着色器文件并将其解析加载到String对象中,同时还检查它是哪种着色器类型通过其文件扩展名(例如,顶点将具有.vert扩展名)。完成此操作后,我将其发送到我的原生compileShaders函数,该函数采用PongDroidShader对象数组和数组大小。之后,我从JNI代码中解析并链接着色器。到目前为止,我无法让JNI识别Java代

c# - Unity3d开发: JNI ERROR (app bug): accessed stale local reference 0x200001 (index 0 in a table of size 0)

我在开发unity3d项目时使用AndroidJavaObject。我尝试了一个非常简单的代码,如下所示,但它抛出了标题中的异常。usingUnityEngine;usingSystem.Collections;usingSystem.Threading;publicclassMainScript:MonoBehaviour{//UsethisforinitializationvoidStart(){ }voidOnGUI(){if(GUI.Button(newRect(50,50,1000,200),"OpenActivity")){Debug.Log("pressed");Thre

java - 停止调用 JNI 函数的 Java 线程

这里我想停止我的线程或杀死我的线程,它是在Java层上创建的,并且这个线程正在调用JNI函数。有时根据我的应用程序要求,我必须在某些情况下停止此JNI函数执行,否则不会。newThread(newRunnable(){@Overridepublicvoidrun(){//Myjnifunctioncall,ItcallsmyJNIlayerCfunction.}}现在,当这个线程开始执行并且它在JNI级别工作时,我对此并不担心,但是在某些情况下,我想从其他类或方法停止这个JNI工作,那么我该如何停止这个线程。注意:这里我的线程也没有while循环,所以我也无法检查一些全局标志变量。那么

android ndk jni No implementation found 错误

我正在使用android并尝试在我的应用程序中使用一些native代码。这是应用程序代码的框架:packageA.B;/*importstatements*/publicclassCextendsActivity{publicvoidonCreate(...){....foo();....}publicintfoo(){.....data(a,b);.....}publicintdata(a,b){GetValues(a,b);}static{System.loadLibrary("baz");}publicnativeintGetValues(int[]a,intb);}本地方法签名

JNI原理及常用方法概述

1.1JNI(JavaNativeInterface)提供一种Java字节码调用C/C++的解决方案,JNI描述的是一种技术。1.2NDK(NativeDevelopmentKit)AndroidNDK是一组允许您将C或C++(“原生代码”)嵌入到Android应用中的工具,NDK描述的是工具集。能够在Android应用中使用原生代码对于想执行以下一项或多项操作的开发者特别有用:在平台之间移植其应用。重复使用现有库,或者提供其自己的库供重复使用。在某些情况下提高性能,特别是像游戏这种计算密集型应用。1.3JNI方法注册1.3.1静态注册当Java层调用navtie函数时,会在JNI库中根据函数

android - JNI 将 C 更改为 C++

我有一段简单的代码,我想在我的java(android)应用程序中使用:#include#includejstringJava_com_example_ndk_MainActivity_stringFromJNI(JNIEnv*env,jobjectthiz){return(*env)->NewStringUTF(env,"HellofromJNI!");}如果我使用C并调用此文件*.c-一切正常,但我想在C++上使用此代码,我将此文件重命名为*.cpp(并更改Android.mk)。一切都已编译,但当我尝试以在C中使用它的方式使用此函数时,出现错误。*我还修改了函数体:returne

android - 我的 Android JNI JPEG 编码器真的很慢

我正在开发一个小的Android应用程序,用于将一些相机镜头(作为一系列JPEG)流式传输到我的计算机。在没有处理的情况下,帧缓冲区以大约18fps的速度接收相机预览图像。当我加入YuvImageyuv=newYuvImage(data,ImageFormat.NV21,dimensions.width,dimensions.height,null);yuv.compressToJpeg(newRect(0,0,dimensions.width,dimensions.height),40,out);帧速率下降到大约7fps。所以我想我会用C编写自己的JPEG编码器并加快速度。好吧,我感

android - 使用 JNI 时 eclipse 对 C 文件的意外行为,为什么会这样?

我正在开发一个Android应用程序,其中我使用了很多JNI代码。最近(从过去的2-3天开始,我对eclipse的意外行为感到非常恼火)它一打开我的.c就显示模糊的错误文件...但是,如果我关闭并重新打开项目,错误就会消失。请参阅所附的屏幕截图。是不是因为我刚刚更新了我的eclipse安装(只是更新了eclipse插件,我还在我的旧Indigo上)...是eclibse错误还是我的设置有问题?已解决????我尝试了一切,但注意到可能会改变eclipse的行为。此时我知道我肯定是错误地弄乱了项目设置,因为eclipse在同一工作区的其他项目中表现良好。所以我手动重新创建了项目,最后解决了

android - 未找到 JNI_Onload() 且 VM 正在关闭

我是Android新手,我按照链接上的说明操作http://marakana.com/forums/android/examples/49.html使用NDK创建基本应用程序。我完全按照这些步骤操作。我还创建了共享库。当我运行该应用程序时,CatLog显示以下错误:Tryingtoloadlib/data/data/com.example.NDKDemo/lib/libndk_demo.so0x4129dc1801-3004:50:58.856:D/dalvikvm(586):Addedsharedlib/data/data/com.example.NDKDemo/lib/libndk

K8S运维 解决openjdk:8-jdk-alpine镜像时区和字体问题

目录一、问题二、解决三、完整代码一、问题由于项目的Dockerfile中使用openjdk:8-jdk-alpine作为基础镜像来部署服务,此镜像存在一定问题,例如时差8小时问题,或是由于字体问题导致导出excel文件,图片处理内容为空等。二、解决1.解决网络慢的问题软件源修改为国内清华镜像站RUNsed-i's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g'/etc/apk/repositories2.修改时区为国内RUNapkaddtzdata&&cp/usr/share/zoneinfo/Asia/Shanghai/etc/l