
Android JNI
文章平均质量分 63
virus026
目标高于工作
展开
-
[Android JNI]Android的NDK开发-基于NDK的OpenGL开发
之前在学习Android的时候有写过如果在Android中使用OpenGL,当时完全都是用java语言来实现的,现在我们用NDK来实现一次。 实现的思路就是将渲染器中的onDrawFrame,onSurfaceChanged,onSurfaceCreated分别在C中实现,然后将C编译成.so文件之后在Java中直接调用相应的函数就可以了。 步骤就不详细叙述了,代码转载 2013-11-19 17:29:05 · 1175 阅读 · 0 评论 -
[Android NDK]Android JNI开发例子 ---1 静态加载JNI lib
1. 创建一个Android Activity 项目, 我的项目有三个Class, 主要是用来显是gl surface view的东西。package com.example.nativeegl;import android.opengl.GLSurfaceView;import android.os.Bundle;import android.app.Activity;import原创 2013-11-21 15:43:17 · 1530 阅读 · 0 评论 -
[Android NDK]Android JNI开发例子 ---3 在JNI中实现openGL功能
Java部分与例子2相似。MainActivity.javapublic class MainActivity extends Activity { GLSurfaceView mGLView; static { System.loadLibrary("myegl_jni"); } @Override protec原创 2013-11-26 16:12:05 · 3522 阅读 · 0 评论 -
[Android NDK] Android NDK开发环境配置 --- 1 Linux
1. 首先在Android 官网上下载eclipse+Android SDK包。 这个是已经配置好了的eclipse. 自带android AVD + sdk. http://developer.android.com/sdk/index.html2. 下载ndk http://developer.android.com/tools/sdk/ndk/index.html3. 安装Eclip原创 2013-11-21 10:38:34 · 1549 阅读 · 0 评论 -
[Android NDK]Android JNI开发例子 ---2 动态加载JNI lib
JNI函数的注册有两种方法,一种是静态方法,需要用javah为每个声明了native函数的java类编译出的class文件生成一个头文件;另一种是动态注册,通过数据结构保存关联关系实现注册,这里主要介绍动态注册。1. Java 部分与静态加载相同。2. JNI部分:动态注册需要一个数据结构去保存相关的关联关系,这个结构(在jni.h中声明)是:typedef s原创 2013-11-22 16:55:06 · 1170 阅读 · 0 评论 -
[Android JNI] JNI Types and Data Structures
Primitive TypesTable 3-1 describes Java primitive types and their machine-dependent native equivalents.Table 3-1 Primitive Types and Native EquivalentsJava TypeNa转载 2013-11-22 15:04:25 · 934 阅读 · 0 评论 -
C++中extern “C”含义深层探索
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显转载 2013-11-21 16:14:45 · 698 阅读 · 0 评论 -
[Android NDK] Android NDK可能遇到的问题
1. java.lang.UnsatisfiedLinkError: Native method not found的处理这个异常一般是由于JNI的链接器不能正常识别C++的函数名造成的。处理的方法是用exern "C" {},来包裹需要export的C++的native方法。如果native的方法比较多,可以在头文件中定义宏:#if原创 2013-11-21 15:13:41 · 891 阅读 · 0 评论 -
JNI WARNING: input is not valid Modified UTF-8: illegal start byte 0xfe
W/dalvikvm( 1473): in Landroid/media/MediaScanner;.processFile (Ljava/lang/String;Ljava/lang/String;Landroid/media/MediaScannerClient;)V (NewStringUTF)I/dalvikvm( 1473): "MediaScannerSe转载 2013-06-26 17:20:28 · 7796 阅读 · 0 评论 -
Android JNI --函数调用大全
Chap1:JNI完全手册 最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++ 写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。 首先引用一篇文章,介绍一个简单的JNI的调用的过程。 JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变转载 2014-05-07 14:42:14 · 4356 阅读 · 0 评论