草庐IT

Android-JNI

全部标签

python - python脚本能否知道Android环境下C++main函数的返回值

有几种调用C++可执行程序的方法。例如,我们可以使用defrun_exe_return_code(run_cmd):process=subprocess.Popen(run_cmd,stdout=subprocess.PIPE,shell=True)(output,err)=process.communicate()exit_code=process.wait()printoutputprinterrprintexit_codereturnexit_code处理一个C++可执行程序:run_exe_return_code('abc')而abc是由以下C++代码创建的:intmain()

Android中下载 HAXM 报错 Intel® HAXM installation failed,如何解决?

最近在搭建Flutter环境,但是在AndroidStudio中安装VirtualDevice时,出现了一个问题Intel®HAXMinstallationfailed.ToinstallIntel®HAXMfollowtheinstructionsfoundat:https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windows一直提示HAXM下载失败。网上查了各种办法,我来说一下我的解决步骤,适合新手小白去解决。此次显示设备:Window10操作系统+AndroidStudio1.验证虚拟化支持我这里失败的主要原因

java - 它不会创建 Java VM (JNI)

我的简单命令行应用程序:int_tmain(intargc,_TCHAR*argv[]){JavaVM*jvm;JNIEnv*env;JavaVMInitArgsvm_args;JavaVMOptionoptions[1];options[0].optionString="-Djava.class.path=.";//Pathtothejavasourcecodevm_args.version=JNI_VERSION_1_6;//JDKversion.Thisindicatesversion1.6vm_args.nOptions=1;vm_args.options=options;vm

c++ - JNI C++ 调试技术?

我有一个创建JVM并进行JNI调用的LinuxC++应用程序。我是JNI的新手,到目前为止,我发现在开发过程中调试我的应用程序的唯一有效方法是反复试验。有哪些技术可用于调试臭名昭著的“Java运行时环境检测到fatalerror”JavaVM崩溃?我如何知道问题是我的代码还是真正的JVM错误?总的来说,到目前为止我所知道的显而易见的事情是:在代码中,始终检查从JNI调用返回的jobject、class和jmethodID值是否为NULL值,然后再继续。在适当的时候调用env->ExceptionCheck()以确保没有未决的异常。目前,我遇到了错误报告文件中的堆栈跟踪没有帮助的问题:#

java - JNI : How to handle the creation/removal of wrapped C++ object

我想包装一个C++对象,以便我可以从Java访问它。通过阅读jniandusingc++new'edobjectsinjava,我了解了如何在我的Java包装器类中保存对我的C++对象的引用。.不过,我还没有弄清楚的一件事是如何处理我的C++对象的创建和删除。当然,我可以引入创建和删除我的C++对象的native方法,但这意味着我必须在Java中自己处理内存管理……不是很Javaish。在我的Java包装器对象创建和垃圾收集时,是否有任何我应该实现的本地方法被调用? 最佳答案 您必须编写native方法来创建和销毁您的C++对象。关

Android开发中实时语音开发之华为实时语音识别

上一篇(Android开发中,百度语音集成之一)简单的讲解了百度语音的识别,今天讲解一个华为的语音识别:1.初始化:initRecognizer()mSpeechRecognizer=MLAsrRecognizer.createAsrRecognizer(context)mSpeechRecognizer.setAsrListener(SpeechRecognitionListener())2.开始录音:startRecognizing()valmSpeechRecognizerIntent=Intent(MLAsrConstants.ACTION_HMS_ASR_SPEECH)//通过Int

Cordova应用程序 - 多个应用程序Android:名称

我正在尝试使用两个Cordova插件,这些插件当然都需要应用程序:要设置的名称。插件:https://github.com/clevertap/clevertap-cordova和https://github.com/taivo/parse-push-plugin在其他类似的帖子之后,我创建了一个主题文件,并试图将两个插件扩展到新的公共类中。我对此业余爱好者,所以我敢肯定我在尝试构建时收到以下错误消息,所以我敢肯定我做错了什么。MainApplication.java:8:error:classCleverTapPluginispublic,shouldbedeclaredinafilenam

如何制作一个按钮,以采用其背景形状的Android

我只想要一个按下其背景形状的按钮,例如我有此图像:图片在这里我把它作为imagebutton的背景,我想要的是按钮的形状相同而不保持矩形看答案Android设计的Afaik所有视图都是矩形。您可以扩展视图类,定义图像中的封闭路径onSizeChanged(使用固体零件和数学的边界以及视图的宽度和高度)并覆盖其onTouch响应仅在上面定义的封闭路径中的触摸。因此,最后您将能够意识到自己想要的行为。

Android TextView.setText()在按钮onclicklistener中什么都不做

单击按钮后,我正在尝试更改文本视图的文本。文本将显示秒的倒数,所以setText()函数在循环中几次被调用。文字直到整个之后都不会改变onClickTrain功能完成。我正在使用碎片。log.d(...)完美地显示了所有内容,因此我知道该过程还可以。publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){finalViewv=inflater.inflate(R.layout.fragment_classification,container,false);assert

java - 如何定义泛型类的 JNI 方法签名?

我有一个用java定义的基类。我想像这样调用本地方法:publicclassBase{publicvoiddoSomething(){nativeDoSomething();}privatenativevoidnativeDoSomething();}我的问题是,如何指定泛型类的jni方法签名? 最佳答案 我来晚了,但我会添加它以供将来引用。Java中的泛型是使用TypeErasure实现的,基本上是:泛型只存在于编译时:它们在那之后就消失了,不存在于运行时。这意味着,即使您可以拥有类似publicnativevoidblah(Eg