如何把 byteArray从 Native C发送到 android app中?

问题描述

如何把 byteArray从 Native C发送到 android app中?

我开发了一个 Native application 名称是 test.c,我想从 native C 文件中返回arrayofByte,也可以编译,当我运行程序时,.so 文件生成。

08-28 13:04:08.477: D/dalvikvm(945): No JNI_OnLoad found in /data/data/com.ssg.nativelibtest/lib/libnativelibtest.so 0x45f3da78, skipping init

获得上面的信息后,程序也没有奔溃。所以如何解决 Nativefile的调用问题?

jbyteArray Java_com_ssg_nativelibtest_MainActivity_getEncryptionKey(JNIEnv * env, jobject obj)
{
    unsigned char ukey[] = { 'H','A','R','D','C','O','D','E','D',' ','K','E','Y','1','2','3'};
    int lengthOfArray = (*env)->GetArrayLength(env, ukey);
    //jsize lengthOfArray =(*env)->GetArrayLength(env, ukey);
    jbyteArray byteKey = (*env)->NewByteArray(env, lengthOfArray);
    (*env)->SetByteArrayRegion(env, byteKey, 0, lengthOfArray, (jbyte *)ukey);
    return byteKey;
}

解决方案

Appplication中写上

System.load("your.so");
写在Application的构造方法或者静态代码块中

时间: 2024-05-17 21:31:26

如何把 byteArray从 Native C发送到 android app中?的相关文章

c#-C# Winform 如何发送命令到串口设备中,实现指定的功能。

问题描述 C# Winform 如何发送命令到串口设备中,实现指定的功能. 有一台串口的发卡机,实现在发卡机中进行发卡. 例如 用命令数据格式为"0x02 0x44 0x48 0x03 0x0D 0x05",实现主机请求发卡器发卡至机器读卡位置. 想做一个简单的C# Winform程序,通过发送数据格式的指令("0x02 0x44 0x48 0x03 0x0D 0x05"),实现将发卡机自动发卡,即"主机请求发卡器发卡至机器读卡位置": 请问,有

Android开发中实现发送短信的小程序示例_Android

上图为代码结构图. 现在我们看下具体的代码. Send.java package cn.com.sms.send; import java.util.ArrayList; import java.util.Iterator; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.te

broadcast-有关在android代码中调用adb命令发送通知,没有回调onReceive方法问题

问题描述 有关在android代码中调用adb命令发送通知,没有回调onReceive方法问题 大神们,非常谦虚的请教下问题,是这样,我在终端输入adb shell am broadcast -a testBroadcastReceiver --es packageName "you packageName",可以回调onReceive方法,但是当我把该命令写在代码中,同样执行同样的命令,只是用代码实现,就不会调用onReceive,请帮忙解决下~ 解决方案 http://blog.c

android-人数统计设备的数据能发送给手机app吗?

问题描述 人数统计设备的数据能发送给手机app吗? 有没有这样一种可能,把人数统计系统的数据发送给手机app,用什么方法能让人数统计的硬件和app联系起来? 解决方案 如果设备和手机在同一个子网(局域网)中,可以用socket(前提是设备具备以太网卡和网络功能,同时是可编程的),如果不能满足,则用一个服务器中转,设备把数据发送到服务器,APP访问服务器获取数据

Android开发中实现发送短信的小程序示例

上图为代码结构图. 现在我们看下具体的代码. Send.java package cn.com.sms.send; import java.util.ArrayList; import java.util.Iterator; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.te

解决FastStone截图软件发送图片到word中图片变小

说实话截图软件FastStone使用起来真的很不错呢,一直在使用.到目前为止差不多也有两年多的时间了,FastStone不停的更新,功能也在不停的增加.特别是截图后可以直接发送到word中,这点是我的最爱. 这不最近的纠结也是因为这个功能,在FastStone中明明截图比较大,但是发送到Word中图片就变小了,标的模糊了. 来个比较实际的例子: 这个是在FastStone中已经编辑好的图片. 这个是发送到Word中的图片. 通过上述两幅图片,可以很明显的看到在FastStone中图片是清晰的,而

简单掌握Android开发中彩信的发送接收及其附件的处理_Android

一. 彩信发送:  彩信比短信麻烦很多.从sendMmsWorker函数的参数就可以看出来:(conv, mmsUri, persister, slideshow, sendReq) 上下文,uri,PduPersister(彩信是用pdu的),slideshow 包含了所有的彩信信息,sendreq包含了mime封装mms时的headers,也包括了from,to等信息 . (1)函数 sendMmsWorker:  private void sendMmsWorker(Conversatio

Android开发中使用Volley库发送HTTP请求的实例教程_Android

Android Volley 是Google开发的一个网络lib,可以让你更加简单并且快速的访问网络数据.Volley库的网络请求都是异步的,你不必担心异步处理问题. Volley的优点: 请求队列和请求优先级 请求Cache和内存管理 扩展性性强 可以取消请求 下载和编译volley.jar需要安装git,ant,android sdk clone代码: git clone https://android.googlesource.com/platform/frameworks/volley

简单掌握Android开发中彩信的发送接收及其附件的处理

一. 彩信发送:   彩信比短信麻烦很多.从sendMmsWorker函数的参数就可以看出来:(conv, mmsUri, persister, slideshow, sendReq) 上下文,uri,PduPersister(彩信是用pdu的),slideshow 包含了所有的彩信信息,sendreq包含了mime封装mms时的headers,也包括了from,to等信息 . (1)函数 sendMmsWorker: private void sendMmsWorker(Conversatio