草庐IT

check_jni

全部标签

Android,用javah生成jni头文件,提示找不到org.opencv.core.Mat的错误

当我使用javah编译java类中的native方法以生成JNI头文件时,我遇到了一个令人讨厌的jni问题。如果类使用了第三方包,例如:org.opencv.core.Mat,那么javah会报找不到org.opencv.core的错误。垫类。OpenCV示例代码如下:packageorg.opencv.samples.fd;importorg.opencv.core.Mat;importorg.opencv.core.MatOfRect;publicclassDetectionBasedTracker{publicDetectionBasedTracker(Stringcascade

PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed

系统报错:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpathvalidationfailed:java.security.cert.CertPathValidatorException:timestampcheckfailed异常原因:SSL证书过期

java - 如何通过 JNI 在 Java 中调用重写的父类(super class)方法?

我正在尝试使用native实现覆盖Activity回调方法(将Lua挂接到Activity中)。然而,我在尝试调用JNI代码中的父类(superclass)方法时遇到了障碍,这是回调所必需的。例如,我有这样一个类:classTestActivityextendsActivity{@OverrideprotectednativevoidonCreate(Bundlebundle);static{System.loadLibrary("test-jni")}}我正在尝试用C语言实现TestActivity.onCreate(),如下所示:voidJava_test_TestActivity

java - 错误 :Failed to capture snapshot of output files for task 'transformClassesWithDexForDebug' during up-to-date check

我是Android应用程序开发的新手,正在尝试构建一个简单的界面,但我遇到了这个错误。我该如何解决?整个错误声明是这样的:错误:在最新检查期间无法捕获任务“transformClassesWithDexForDebug”的输出文件快照。java.io.FileNotFoundException:F:\AndroidStudioProjects\thirdone\app\build\intermediates\transforms\dex\debug\folders\1000\10\com.android.support-appcompat-v7-25.0.1_b5d942cb3c7f3

安卓 : JNI ERROR (app bug): local reference table overflow (max=512)

我有一个具有native代码的Android应用程序。native代码需要从java代码中获取特定值;这个值会定期更新,所以我需要在需要使用它的时候获取它。我正在使用JNI进行从native代码到Java代码的调用。std::stringval;JNIEnv*env=JSC::Bindings::getJNIEnv();jclassbridgeClass=env->FindClass("com.mypackage.MyClass");jmethodIDmethod=env->GetStaticMethodID(bridgeClass,"getVal","()Ljava/lang/Str

android - 在 Android : UNsatisfiedLinkError 中使用 jni

我是jni的新手,我正在阅读一个教程来实现一个简单的native方法,但我遇到了一个不满意的链接错误。据我所知,我完全按照教程中的步骤操作。请帮助我。这是java包装器代码:packagecom.cookbook.jni;publicclassSquaredWrapper{//Declarenativemethod(andmakeitpublictoexposeitdirectly)publicstaticnativeintsquared(intbase);//Provideadditionalfunctionality,that"extends"thenativemethodpubl

java - 调用静态 JNI 方法以从 C++ 返回字符串

我正在尝试在Android中调用以下java方法publicstaticStringgetLevelFile(StringlevelName){/*body*/}从c++使用以下jni代码JniMethodInfoJavaApimethodInfo;if(!getStaticMethodInfo(methodInfo,"getLevelFile","(Ljava/lang/String;)Ljava/lang/String;")){returnstd::string("");}LOGD("callinggetLevelFile");jstringreturnString=(jstrin

android - 如何从 JNI 启动一个新线程

我需要从android应用程序的native部分启动一个新线程。它必须在JNI中声明和定义。有人知道我该怎么做吗?如果有人会发布示例,我将非常高兴。 最佳答案 最简单的方法是使用C++11线程类。参见thistopic关于如何使用AndroidNDK启用C++11。另见thispost如果您在让线程类工作时遇到问题。然后你可以像这样使用它:#include//std::threadvoidfoo(){//dostuff...}voidbar(intx){//dostuff...}JNIEXPORTvoidJNICALLJava_or

android - 如何将字节数组从 android java 类传递到 JNI C NDK?

我在java类中有字节数组,我想将该字节数组传递给JNIC类,我无法在JNIC中访问该数组,请帮忙。 最佳答案 您需要像这样声明接收数组的JNI函数(在Java中):privatenativevoidsendData(byte[]data);您可以像调用任何其他函数一样调用该函数:sendData(buffer);然后在您的C代码中实现如下函数:JNIEXPORTvoidJNICALLJava_com_packageXXX_yourClass_sendData(JNIEnv*env,jobjectthiz,jbyteArraydat

android - 检测 Android JNI 代码中的 native 内存泄漏

如何检测AndroidJNI代码中的内存泄漏?我正在使用Froyo 最佳答案 2017年更新:valgrindisavailable对于安卓。内置的malloc调试功能在AndroidN中得到了显着扩展,并且对于查找内存泄漏非常有用。您可能需要_exit()应用程序来触发转储。下面描述的DDMS功能目前获得briefmention在官方文档中。您可以利用一项不受支持的实验性功能。在您的DDMS配置文件中(例如Linux上的~/.android/ddms.cfg),添加“native=true”。这会启用NativeHeap选项卡。接