草庐IT

JNI_OnLoad

全部标签

android - 如何编译 Telegram jni文件夹

我正在尝试编译Telegram源代码中的jni文件夹github.com/DrKLO/Telegram/用ndk但是当我在ndk文件夹中的cmd中编写ndk-build时喜欢:F:\ndk\android-ndk-r10>ndk-build-CF:\Workspace\Android\Telegram-master-1-12-2016\Telegram-master\TMessagesProj\jni我遇到了一些错误并且没有创建libs文件夹当我将ndk路径添加到androidstudio并手动添加jni文件夹时androidstudio说找不到一些头文件关注此question下载Cy

android - C++ 和 JNI - 如何将数组传递给 jfloatArray

我一直在搞乱我自己的小项目来自学使用c++和jni的androidndk,但我不知道如何将数据从javafloat数组传递到c++数组。我已经使用了jni设置。我发现的大多数教程要么太简单,解释不够,要么太复杂,目前我的理解已经过时了。那么,有人能不能给我指出一个数组从java传递到c++,然后对数据执行一些方法/函数并发送回java的简单示例。到目前为止,这是我的尝试,但我还有两个错误。我不确定其余的语法是否符合标准,但我在编译时没有看到任何东西。#include#include#include#includeusingnamespaceEigen;Vector3fvec;Vecto

java - Android Java JNI 和 C Char 数组无法识别值

我试图将char数组从java传递到c。我用谷歌搜索了实现它的方法。但是当我尝试访问数组的值时,该值不正确。其实我是想给数组赋予一个字符的。就像buffer[i]='z',结果在android中是正确的。顺便说一句,我想要的值是rs232发送的值。来自rs232的值没问题。有人告诉我使用bytearray。行得通吗?我担心rs232的值无法存储到字节数组中....JavapublicnativeintOpenPort(intportnum,intbrates);publicnativeintClosePort(intportnum);publicnativeintREAD(char[]

java - 从 jni 访问加速度计

我正在尝试制作一个android应用程序,我需要在其中访问jni中的加速度计。java代码:mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);mAccelerometer=mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);jni代码:jclasscls_context=env->FindClass("android/content/Context");jfieldIDtService=env->GetStaticFieldID(cls_cont

android - 使用 ndk jni 为 curl 构建错误

我在编译curl时遇到错误:$ndk-buildAndroidNDK:Buildingforapplication'curl'AndroidNDK:Tryingtodefinelocalmodule'curl'insources/curl//jni/Android.mk.AndroidNDK:Butthismodulewasalreadydefinedbysources/curl//jni/Android.mk.build/core/build-module.mk:34:***AndroidNDK:Aborting..Stop.谁能提供你编译依赖的过程? 最

java - 如何查看JNI本地引用表?

有什么办法可以查看JNI本地引用表的内容吗?如果我在它溢出时发生崩溃,我可以通过androidLogCat看到它,并且有很多关于引用对象、唯一实例等的信息,这有助于捕获潜在的内存泄漏。谢谢。 最佳答案 请引用CheckJNI。它可以捕获一些常见错误。对于ICS,如果Manifest.xml中的debuggable="true",CheckJNI默认处于启用状态。谢谢 关于java-如何查看JNI本地引用表?,我们在StackOverflow上找到一个类似的问题:

android - 在 Eclipse 下进行 Android JNI/NDK 调试,为什么我的断点被忽略了?

我正在使用Eclipse3.6.2和最新最好的ADT(v20),我试图在我知道它运行的方法中设置断点(将消息记录到LogCat),但出于某种原因,我放置的所有断点都是只是被忽略了。在寻找解决方案时,我遇到了thisthread,但它已经很旧了,而且我的JDK也更新了很多,所以答案不适用于我的情况。为什么会发生这种情况,我该如何解决这个问题? 最佳答案 检查是否启用了“跳过所有断点”(小图标在调试图标的左侧)检查您是否从要调试的项目中选择了一个文件检查程序是否在之前的步骤中死亡,或者如果您正在进行trycatch,请检查错误是否会使您

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中捕获异常,为用户生成有意义的警告消息并保持应用运