草庐IT

Hello-Jni

全部标签

android - 您的 APP_BUILD_SCRIPT 指向一个未知文件 : ./jni/Android.mk

我正在尝试让ndk-gdb工作,但我遇到了一些问题。我的项目结构是这样的:trunk--indiana(Hereistheandroid_manifest)--ubravo_java----mbravo(hereisthenativecode)------jni(herearetheAndroid.mkandApplication.mk)问题1:我知道我可能必须从list所在的目录运行ndk-gdb,对吗?或者我为ndk-gdb命令提供--project参数。所以如果我尝试像这样启动ndk-gdb:ndk-gdb--start--force--verbose--project=/hom

android - 有没有办法在不使用 JNI 的情况下本地访问 android DPI?

我的Android游戏使用OpenGL和AndroidNDK。我目前通过从我的Activity/GLSurfaceView进行JNInative调用,将必要的dpi值作为参数传递。目前我正在使用://requestaninstanceofDisplayMetrics,say'dm'fromandroid.floatdensityFactor=dm.density;//passthisasaparameterusingJNIcallmyCustomNativeMethod(densityFactor);#implementationina'game.c'file我只是想知道是否可以在不使

java - JNI : Unable to find java class from native method in a callback

我是JNI的新手,我正在努力解决这个问题。我有一个由网络库(alljoyn)调用的c++回调。在这个回调中,我需要调用Java代码。由于这个回调在另一个线程中,我使用以下代码获取JNIEnv指针:(jvm是一个全局指针)JNIEnv*env=NULL;jvm->AttachCurrentThread(&env,NULL);问题是,当我尝试使用此env指针调用FindClass时,结果为NULL。如果我在主线程中执行完全相同的FindClass调用,一切正常。我该如何解决这个问题?这与类路径有某种关系吗? 最佳答案 可以在develo

c# - 我正在尝试使单声道 android 简单 "hello world"但我在模拟器中看不到 "hello world"为什么?

我卸载了androidask并重新安装到没有空格的c:\androidSdktools。所以现在模拟器可以工作了,我可以看到模拟器了。但尝试了一些“helloworld”文本的代码,当我运行应用程序和运行模拟器时,我看到了android模拟器,但我看不到wnyhere“helloworld”。我不确定我是否没有做任何好事,或者可能是因为我在退出模拟器并停止调试时仍然遇到错误,我得到错误说:部署错误。如果我继续说"is",那么他会要求我在运行/调试之前重建/构建我的解决方案,但我确实这样做了,但它没有解决这个错误。我不知道这个错误是否与我在android模拟器中没有看到任何“hellow

java.lang.UnsatisfiedLinkError : Native method not found: Error in jni() 错误

我正在尝试通过将jni与androidActivity一起使用来添加两个二维数组。在android主Activity类中,我创建了一个类sample.java的对象。并将示例类实例的字段传递给native代码进行添加。sample.java如下packagecom.cdacb.mars.ntvoperation;publicclassSample{publicint[][]array1;publicint[][]array2;publicint[][]array3;}native代码的定义是:JNIEXPORTvoidJNICALLJava_com_cdacb_mars_ntvoper

android - 传递简历 :Mat from android to jni

我正在尝试将Mat对象从android端发送到jni端,我不想发送mat对象地址。但是我的jni代码在Mat中没有行返回0,我没有得到。Android-Java代码是:buttton.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){Utils.bitmapToMat(bitmap,mat);Log.d(TAG,Integer.toString(m.rows())+""+Integer.toString(m.cols()));textView.setText(Integer.toStrin

android - JNI_OnLoad 返回错误版本 (-1)

我试图在我的Android应用程序中加载Qt5Core库,我得到了这个:JNI_OnLoadreturnedbadversion(-1)in/data/data/com.xxx.yyy/lib/libQt5Core.so0x41a8f3c0Failedtoloadlibrary:Qt5Coreduetolinkerrorunknownfailurejava.lang.UnsatisfiedLinkError:unknownfailureatjava.lang.Runtime.loadLibrary(Runtime.java:370)这是我尝试加载它的方式:System.loadLibr

java - OpenCV Android - 无法解析相应的 JNI 函数

我正在尝试按照此处概述的本教程使用Opencv设置AndroidStudio:https://www.youtube.com/watch?v=OTw_GIQNbD8我可以得到提供教程的人获得的结果,但是在尝试实际使用Opencv的一些函数时我遇到了一些麻烦。我能够加载Opencv库,但是在尝试使用一些native函数(例如“Imgcodecs.imread”)时出现错误:“.lang.UnsatisfiedLinkError:找不到长org.opencv.imgcodecs.Imgcodecs的实现.imread_1(java.lang.String)"我相信我已经追踪到以下问题:[!

java - 如何在普通的非 Android Java 应用程序中使用 NDK 编译的 JNI 库?

我有一个JNI库,它是为Android应用程序和NDK使用而设计的。我没有源代码,只有为某些拱门编译的.so文件。我想在64位x86LinuxPC上的简单控制台Java应用程序中调用此库中的函数。我做了什么:我从x86_64文件夹中取出库并使用System.loadLibrary将其加载到我的Java程序中尝试启动程序并得到UnsatisfiedLinkError的详细信息liblog.so:无法打开共享对象文件:没有这样的文件或目录。所以我从官方NDK获取x86_64arch的liblog.so并加载它,然后libstdc++.so遇到了同样的错误:无法打开共享对象文件:没有这样的文

java - 如何在 JNI 中将 char* 转换为 jcharArray

如何在JNI中将char*转换为jcharArray?我必须在//TODO注释部分输入什么代码?JNIEXPORTjcharArrayJNICALLJava_finger_FingerPrintJNI_GetVer(JNIEnv*env,jobjectthisObj){char*version=getText();//Returnschar*datatypeintversion_len=strlen(version);jcharArrayj_version_array=env->NewCharArray(version_len+1);//TODOConvertchar*tojcharA