草庐IT

check_jni

全部标签

android - 错误 : JNI ERROR (app bug): accessed stale global reference

我收到这个错误JNI错误(应用程序错误):访问过时的全局引用当我在AndroidOSv4中运行我的应用程序时,但是当我在Androidv2.3中运行相同的应用程序时,我没有收到此错误。p>这个错误发生在我调用AsyncTask类时,我将一个字符串数组作为参数传递谁能帮帮我?? 最佳答案 当您使用不正确的参数类型调用方法时会发生此错误。确保您的方法签名与您传递的内容完全匹配。对于字符串数组:jmethodIDmid=env->GetMethodID(cls,methodName,"([Ljava/lang/String;)V");如果

安卓测试: how to check a dialog is displayed on screen?(使用ActivityInstrumentationTestCase2)

我试图最终将UI测试添加到我的Android应用程序,以增加覆盖率(我的所有其他层都经过适当测试,因此我的所有错误现在都来自UI...)我开始使用ActivityInstrumentationTestCase2作为我的模拟器单元测试的基类,简单的东西很容易检查并且工作得很好。但是现在,我正在尝试检查对话框是否按预期显示,但我不知道该怎么做。我的测试:publicvoidtestOpensAboutDialogWhenAboutButtonClicked(){finalMyActivityactivity=getActivity();finalInstrumentationinstrum

android - 未找到 JNI_OnLoad 跳过 init > 应用程序关闭

各位,我正在开发一个需要第三方.so库的android应用程序。我build了这个第三方库(带有ndk-build)按照他们的说明,然后正在寻找将这个.so包含到我的Android项目中。因此我按照docs/PREBUILTS.html中描述的步骤成功构建了在jni/prebuilt目录中新建.so。现在我尝试通过在一个简单的测试android应用程序中使用它来利用.so设施。所以我做的是:static{Log.i("loadso>","loadso");System.loadLibrary("xyz");}/*Thenativefunctions*/privatestaticnati

c++ - JNI DeleteLocalRef 说明

问题一:jstringjstrKey;for(inti=1;iNewString((jchar*)strKey,wcslen(strKey));}env->DeleteLocalRef(jstrKey);问题二:for(inti=1;iNewString((jchar*)strKey,wcslen(strKey));env->DeleteLocalRef(jstrKey);}我在这两个问题中是否正确使用了DeleteLocalRef?特别是在问题1中,我在循环后删除了本地引用。我认为这是正确的,并且不需要在循环内调用deletelocalref,因为我没有创建任何新的本地引用。所以关于

c++ - 需要理解语句 "Accessability is checked statically and not dynamically in C++"

我对静态或动态检查访问说明符感到困惑。据说不会动态检查访问说明符。这是什么意思?这个例子取自不同的posts所以。考虑这个例子示例A:classBase{public:virtualvoidMessage()=0;};classIntermediate:publicBase{//IsMessagemethodvirtualheretoo?isitprivateorpublic?};classFinal:publicIntermediate{voidMessage(){cout现在假设我做这样的事情Final*finalPtr=&final;finalPtr->Message();上面的

(已解决)python报错:Consider using the `--user` option or check the permissions.

相信有些小伙伴遇到类似的问题,不想看原因分析的可以直接跳到3.解决办法中解决问题~目录1.报错内容2.报错原因分析3.解决方法1.报错内容报错提示:Considerusingthe`--user`optionorcheckthepermissions.错误案例:pipinstallopencv-contrib-python==3.4.2.16截图事例:2.报错原因分析报错翻译(我是用的是百度翻译):错误:由于OS错误,无法安装程序包:[WinError5]拒绝访问。:'d:\\pyhton3.63\\Lib\\site软件包\\cv2\\cv2.cp36-win_amd64.pyd'请考虑使用

java - 使用Qt/C++通过JNI调用Java代码。 FindClass 没有找到类

我是JNI的新手,这是我尝试从C++调用Java代码的第一个程序。我正在使用Qt5.2并正在编写一个Android应用程序。我无法找到我的java类并将其加载到我的C++程序中。我在这里阅读了很多关于堆栈溢出和其他地方的帖子,这似乎是一个常见问题,但我还没有能够解决我的问题..我也不确定是否正确设置了JavaVM,因为QAndroidJniEnvironment上的Qt文档很少。我正在寻找有关如何找到我的Java类的解决方案。我也很感谢对代码其他部分的一般反馈(我认为可能会有更多错误)。错误信息:Startingremoteprocess.D/dalvikvm(24911):GC_CO

java - JNI传递参数给c++的方法

我有一个c++文件myCppTest.cpp,它有方法intmyFunction(intargv,char**argc){}和myClass.java中的Javanative方法publicnativeintmyFunction(intargv,char[][]argc);使用javah-jnimyClass生成头文件后,我有了头文件JNIEXPORTjintJNICALLJava_JPTokenizer_init(JNIEnv*,jobject,jint,jobjectArray);在我的myClass.cpp中,我定义了JNIEXPORTjintJNICALLJava_JPToke

java - JNI_CreateJavaVM() 每次我运行我的应用程序时都会失败(确切地说)

我有一个WindowsMFC应用程序:(1)加载JVM(JNI_CreateJavaVM())(2)将主线程附加到JVM(AttachCurrentThread())(3)加载一些Java类和方法(FindClass()和GetMethodID()/GetStaticMethodID())(4)注册一些本地回调以供Java代码使用(RegisterNatives())(5)从JVM中分离线程(DetachCurrentThread())(6)销毁JVM(DestroyJavaVM())所有上述功能每隔一段时间我运行该应用程序。我知道它们成功了,因为除了上述之外,我与应用程序交互并成功调