草庐IT

hello-jni

全部标签

android - 单元测试 JNI 调用

我有一个用于某些C++代码的AndroidJNI包装器。C++代码有自己的一组单元测试。我想为JNI包装器类编写Java单元测试。有没有办法从桌面控制台对AndroidJNI.so包装器API进行单元测试,例如在Windows上?也许使用桌面Java框架但使用所有AndroidSDK调用? 最佳答案 既然调用native的类只是一个包装类,那你就可以直接对JNI层进行单元测试。如果那是您想要的,那么直接对您的JNI函数进行单元测试会有点困难。但是,您仍然可以将完成所有工作的JNI函数的“核心”放在一个单独的.c文件中。所以基本上,您

android - 拦截来自 Android Java/JNI 的网络调用

您好,我想拦截Android设备中发生的任何网络Activity。假设浏览器正在打开到某些网站或api的http连接。如果这不可能,那么至少我希望拦截浏览器urlandroid,比如firefoxchrome或opera。因此,每当用户在浏览器中打开任何网址时,我都需要接到电话。我已经知道为Activity和拦截提供一个Intent过滤器。但是,如果请求转到Intent解析器,这一切都会发生,而在浏览器的情况下不会发生。类似的问题在这里打开interceptinginternetcallsandroid但目前还没有任何回应。如果谁有解决的办法或者有类似的需求可以一起讨论。其他资源htt

java - 在 Android 上用异常替换 JNI 崩溃

这个问题在这里已经有了答案:ARTpreventsanyJavacallsfromJNIduringnativesignalhandling(1个回答)关闭4年前。我开发了一个使用nativeC库的Android应用程序。我可以使用JNI成功地编译整个东西,并且一切顺利。但是,nativeC库有时会崩溃(最常见的是SIGSEGV)。反过来,这会导致我的应用程序崩溃,而不会向用户发出任何有意义的通知。我想要实现的是:使用信号处理程序(sigaction)在native代码中捕获信号以防止随机崩溃在C库中抛出Java可以捕获的异常在Java中捕获异常,为用户生成有意义的警告消息并保持应用运

android - 您的 APP_BUILD_SCRIPT 指向未知文件 : C:\android-ndk/jni/Android. mk

我正在尝试编译一个androidNDK项目,但出现以下错误:AndroidNDK:YourAPP_BUILD_SCRIPTpointstoanunknownfile:C:\android-ndk/jni/Android.mkc:/android-ndk/build/core/add-application.mk:187:***AndroidNDK:Aborting...Stop.这是我的android.mk文件LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LOCAL_MODULE:=bulletLOCAL_SRC_FILES:=bullet.

java - 从 KeyStore 传输私钥,在带有 JNI 的 OpenSSL 中使用

我有一个使用WebRTC的Android应用程序。一切都很完美。但现在,主要问题是加密。为了调用电话和传输数据,WebRTC为每次通话创建并使用一个KeyPair。但我想使用AndroidKeyStore中的自定义KeyPair。对于这个问题,我需要将自己的KeyPair发送到OpenSSL共享对象才能工作。修复将在NATIVEOpenSSL代码中进行,其中WebRTC使用此函数(opensslidnetity.cc)获取用于加密数据的OpenSSL上下文:boolOpenSSLIdentity::ConfigureIdentity{...}如何将PK从AndroidKeyStore转

利用android studio 生成 JNI需要的动态库so文件 图文详解

一、环境搭建1.1Androidstudio2021.2.1安装到官网下载,此处不再陈述1.2JNI安装JNI是JDK里的内容,电脑上正确安装并配置JDK即可。1.3NDK安装直接在Androidstudio下载(File---->Settings)1.4编译工具工具一:AndroidStudio下载安装cmake(调试Native时会使用到LLDB,请一同勾选下载安装)工具二:用NDK的脚本工具使用ndk-build二、NativeC++项目2.1创建项目新建项目,选择NativeC++,如下图所示:2.2创建项目后默认的示例代码 新建的项目,默认有完整的native示例代码、cmake的配

android - 哪些 Android 设备支持 jni?

我已经为爱可视43开发了一个使用JNI(javanative接口(interface))的Android应用程序。没有任何问题,我能够顺利运行该应用程序。后来我尝试在SamsungI9100GGalaxySII和SamsungI9100GalaxySII上运行相同的应用程序。我能够在I9100G上运行该应用程序,但不能在I9100上运行。ThereasonbeingthattheJNIpartoftheapplicationwasnotsupportedonI9100.我确实试图了解其中的原因,并发现I9100G使用TiOMAP4430芯片组和PowerVRSGX540作为GPU,而I

HarmonyOS ArkTS语言,运行Hello World(一)

一、下载与安装DevEcoStudio在HarmonyOS应用开发学习之前,需要进行一些准备工作,首先需要完成开发工具DevEcoStudio的下载与安装以及环境配置。进入DevEcoStudio下载官网,单击“立即下载”进入下载页面。DevEcoStudio提供了Windows版本和Mac版本选择,可以根据操作系统选择对应的版本进行下载。这里以Windows为例进行安装。下载完成后,双击下载的“deveco-studio-xxxx.exe”,进入DevEcoStudio安装向导,在如下界面选择安装路径,默认安装于“C:\ProgramFiles”下,也可以单击“Browse…”指定其他安装路

java - 保留从 Android JNI 调用的 java 方法

我正在尝试通过Proguard混淆Android应用程序代码。使用proguard处理后,应用程序自行运行,但是从c到java的native调用失败并显示java.lang.NoSuchMethodError。此代码来自native部分,其中调用了名为EngineStarted的java类实例:voidcallEngineStarted(JNIEnv*env,boolisStreamOne){jclasscls;if(isStreamOne==true){cls=(*env)->GetObjectClass(env,currentObjectOne);}else{cls=(*env)-

[MICROSAR Adaptive] --- Hello Adaptive World

AutomotiveE/EArchitectureandAUTOSARAdaptivePlatformVectorSolution:MICROSARAdaptiveFirstproject:HelloAdaptiveWorldSummary1引言1.1AP诞生的历史背景新一代电子电器架构通常将车内的节点分为三类。计算平台,预控制器和传感器执行器相关的节点,这三类节点有不同的功能和特点。需要不同的硬件方案和软件架构,通常负责传感器/执行器功能的节点依然可以沿用以前的软件架构,搭载autosarclassicplatform,采用基于信号的通信方式。而在计算平台和预控制器上,为了满足算利需求,通常