最近使用NDK进行项目开发过程中,debug模式下logcat输出以下错误(PS:正常run没有任何错误,JNI方法执行没有问题):
05-28 13:48:10.422: W/dalvikvm(15024): JNI WARNING: input is not valid Modified UTF-8: illegal start byte 0xa5
05-28 1...
分类:
其他好文 时间:
2014-06-05 06:58:36
阅读次数:
1128
自然对齐:
1.一个基本类型实例的大小要能整除其地址值。
2.数组有着和数组里类型本身相同的对齐要求。
3.一个聚集类型的实例,其对齐要求最严格的子类型的排列要能整除聚集的地址
在32位机器上,
char的大小为1(以字节计),所以它可以被存储在内存的任意地址处
short的大小为2,所以它只能存储在“偶数”地址处
integer和指针的大小为4(32位机上一个字为4个字节),所以它们只能存储在一个字界中
double的大小为8,所以它只能存储在两个字界中...
分类:
其他好文 时间:
2014-06-05 03:52:15
阅读次数:
200
目录
第一章 概述 5
JNI概述 5
历史背景 6
JDK1.0本地方法接口 6
JAVA运行时接口 6
原始本地接口和JAVA/COM接口 6
目标 7
JNI方法 7
JNI编程 8
第二章 设计综述 8
JNI接口函数和指针 8
编译,加载和链接本地方法 9
解析本地方法名 10
本地方法参数 11
引用JAVA对象 13
全局和局部引用 13
实现...
分类:
数据库 时间:
2014-06-03 00:12:53
阅读次数:
1165
1、编写native方法(java2c)和非native方法(c2java):package
com.example.provider;public class CallbackJava { // C调用java空方法 public void
helloFromJava() { ...
分类:
移动开发 时间:
2014-06-02 16:42:34
阅读次数:
413
java 中的内存分为四个部分:stack(栈),heap(堆),data segment, codesegment。
stack(栈):存放基本类型的数据和对象的引用,即存放局部变量。
heap(堆)存放 new 出来的东西。
data segment(数据区):分为静态区和常量区(常量池):
静态区(static segment):存放在对象中用 static 定义的静态成员(即静态变量,如果该静态变量是基本类型变量,则将变量名和值都存入静态区中,如果是引用类型则指向 new 出来的对象。
...
分类:
编程语言 时间:
2014-06-01 15:09:19
阅读次数:
348
前文曾详细探讨了关于OpenCV的使用,原本以为天下已太平。...
分类:
移动开发 时间:
2014-06-01 12:56:17
阅读次数:
906
Ubuntu下编译Android JNI实例全过程...
分类:
移动开发 时间:
2014-06-01 10:42:40
阅读次数:
324
本文将介绍如何使用eclipse和ndk-build来编写一个基于Android4.4版本的包含有.so动态库的安卓程序。
前提是已经安装和配置好了诸如SDK,NDK等编译环境。下面开始编程!1 程序逻辑 我们要编写的程序包含两部分:java部分——负责界面和调用JNI
native函数;JNI ....
分类:
移动开发 时间:
2014-05-31 19:36:04
阅读次数:
416
1、需要准备的工具,eclipse,cdt(c++)插件,cygwin(unix)和
android ndk.2、开发步骤:a.创建一个android工程b.JAVA代码中写声明 native 方法 public native String
helloFromJNI(); 通过javah 包名.类....
分类:
移动开发 时间:
2014-05-31 01:09:30
阅读次数:
337
*含义1.乘法 3*5 2.定义指针变量 int *
p;//定义了一个名字叫p的变量,能够存放int数据类型的地址3.指针运算符, //如果p是一个已经定义好的指针变量则*p表示以p的内容为地址的变量
打印数据类型%d - int%ld – long int%c - char%f ...
分类:
移动开发 时间:
2014-05-31 01:04:05
阅读次数:
346