Android NDK JNI WARNING: illegal start byte 0x

今天解决了JNI WARNING: illegal start byte 0x81这个问题;

问题出现的现象是通过jni调用加密方法,调用之后返回密文内容,结果就出现这个问题。

在国外查找一段时间之后,出现这个问题的原因在于:使用newStringUTF方法使用的char *数据要求是可见的内容,所以才导致数据不能正常的返回;

所以一般对我们来说,采用NDK进行加密的时候,加密的密文如果是不可见的字符的话,那么就需要对数据进行一次BASE64编码,在返回String.

或者直接使用byte返回到上层;

Android NDK JNI WARNING: illegal start byte 0x,码迷,mamicode.com

时间: 2024-08-09 06:33:59

Android NDK JNI WARNING: illegal start byte 0x的相关文章

Android JNI WARNING: illegal continuation byte 0xd2

在sdcard中创建接收文件名字时候,由于文件名编码的问题导致下面的错误. 01-01 08:10:11.054: W/dalvikvm(1824): JNI WARNING: illegal continuation byte 0xd2 01-01 08:10:11.054: W/dalvikvm(1824): string: '???.docx' 01-01 08:10:11.054: W/dalvikvm(1824): in Ljava/io/File;.listImpl (Ljava/l

【android NDK JNI】android-ndk-r9d+adt-bundle-windows环境搭建-Hello-jni案例说明

参考了博客:http://blog.csdn.net/leilu2008/article/details/12495273 我用的android ndk版本是:android-ndk-r9d-windows-x86_64.zip. 提醒:解压之后千万不要保存在含有空格的目录里.否则,下面给jni里的c.c++编译的时候,编译器会报错. NDK path cannot contain any spaces! 用的Eclipse环境的版本是:adt-bundle-windows-x86_64-201

Android NDK(JNI)开发

<基于Windows平台,Android NDK(JNI)开发技术> [摘要]本文介绍如何基于Windows平台,在Eclipse中使用Android NDK技术实现"Android平台上的JNI ( Java Native Interface ) "开发.Android NDK开发需要一定的Java JNI技术基础.Android NDK实质,可以简单的认为是Android平台提供的一组套件,将一些C/C++代码通过JNI的形式为Android平台所复用,该技术可以使

Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined

遇到问题: Android NDK: jni/Android.mk: Cannot find module with tag 'XXXXXXXXX' in import path Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ? Android NDK: The following directories were searched: Android NDK: 查看日志: C:\Users\

crash - JNI WARNING: input is not valid modified utf-8: illegal continuation byte

the key point is "Modified UTF-8" is not like "Regular UTF-8", a legal Rgular UTF8 code sequence may be considered illegal against Modified UTF8. One work around in NDK level is : converting utf8 to native utf16, then use NewString() i

Android NDK之JNI陷阱

背景: 最近一个月一直在做移植库的工作,将c代码到share library移植到Android平台.这就涉及到Android NDK(native develop kit)内容.这里只想记录下JNI(java native interface)经常遇到到问题. 问题1.  忘记delete local reference.带New到方法(如:NewByteArray)这样到方法比较好辨认,需要手动调用DeleteLocalRef()来释放(返回值除外).比较特殊的一个方法是:GetByteAr

android的JNI 、 NDK 学习!

转载的! Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C.C++ 和汇编语言)编写的应用程序和库进行交互操作. 1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual Mac

Android ndk开发swig编译jni接口配置文件(二)

之前写过一篇Android ndk开发swig编译jni接口.看这篇看不懂,看以去看看.c++与Java有些语言结构还是有一定区别,比如c++结构体,一些函数的返回值等都是有所不同,进行swig编译要进行一些预处理,也就是配置一下就行.下面说说几种情况. 一.一般情况下string,数组,枚举类型等配置Unix.i %module Survey %include "std_string.i" %include "arrays_java.i" %include &qu

Android For JNI(六)——交叉编译,NDK概述以及文件结构,编写自己的第一个JNI工程

Android For JNI(六)--交叉编译,NDK概述以及文件结构,编写自己的第一个JNI工程 终于回到我们的android了,我们先要配置这个NDK的环境,但是之前,我们还要了解一下基本的术语 一.交叉编译 在一个平台下编译出另一个平台可以执行的二进制程序 CPU平台:ARM X86 MIPS(指令集) 系统平台:windows linux mac 原理:模拟另一个平台的特性去编译程序 源代码-->预编译-->编译-->链接-->可执行程序 工具链:一个工具使用自动调用下一