用Eclipse 建立 JNI 的專案, 示範如何在 JAVA 調用 cpp 的函數.
我們將建立一個名稱為 jnidemo的專案, 在主Activity 將調用一個名為libHello.so 的 cpp 函數庫的 getVersion() 的函數, 將其返回字串寫在主Activity 的TextView 上.
首先用Eclipse建立一個新的 Android Activity...
分类:
移动开发 时间:
2014-07-09 09:24:07
阅读次数:
393
之前在进行cocos2dx开发时,已经详细介绍了如何将win32的c++代码移植到Android平台,当再次回顾时,发现一些基础的东西理解并不是很彻底,今天使用Android NDK提供的一个例子做一个简单的移植。
1.创建Android项目
创建一个Android项目 , 包名是com.example.hellojni,创建一个Activity作为程序进入的Acitivity,命名为Hell...
分类:
移动开发 时间:
2014-07-08 13:41:10
阅读次数:
251
方法:
1.在jni目录下新建Application.mk; 加入 APP_STL := stlport_static右边的值还可以换成下面几个:
system - 使用默认最小的C++运行库,这样生成的应用体积小,内存占用小,但部分功能将无法支持
stlport_static - 使用STLport作为静态库,这项是Android开发网极力推荐的
stlport_shared - STL...
分类:
移动开发 时间:
2014-07-08 11:04:35
阅读次数:
397
C++和java的调用需要使用JNI,这里使用cocos2dx提供的JniHelper就可以满足要求。以游戏中购买炸弹道具为例流程图:先按照文档进行配置;在Java工程中新建一个包"IAP",作为C++与mmsdk交互的中间层;Handler和Listener可以使用Demo自带的两个类,将Demo...
分类:
移动开发 时间:
2014-07-07 00:00:03
阅读次数:
508
Jni 异常捕获http://192.210.60.138/dz/forum.php?mod=viewthread&tid=19&fromuid=1(出处: IStudy)#define LOG_TAG "JNIHelp"#include "JNIHelp.h"#include "android/l...
分类:
其他好文 时间:
2014-07-06 19:50:46
阅读次数:
173
JNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数时间我们是不需要JNI的,但是假如你遇到了如下的三种情况之一呢?
你...
分类:
其他好文 时间:
2014-07-06 08:53:42
阅读次数:
316
问题:
想在Jni层创建 udp socket 与服务端通信,但是没有成功,最后发现竟然是创建socket失败(代码如下)
// create socket
g_sd = socket(AF_INET, SOCK_DGRAM, 0);
if (-1 == g_sd)
{
perror("socket()");
goto err_socket;
}解决办法:
在...
分类:
移动开发 时间:
2014-07-06 00:49:58
阅读次数:
298
android4.4系统解决“ERRORcouldn't find native method”方法 今天笔者在移植一个tv模块从android4.2到android4.4系统的设备上,同样的代码,同样的方法,就是运行不起来。大概方法就是上层写一个apk,调用一个静态的java库,java库加载调用JNI的库文件,这一套代码在4.2上都是好好的,正常能跑,移到4.4上编译也都没...
分类:
移动开发 时间:
2014-07-03 16:30:04
阅读次数:
190
1. JNI介绍Java Native Interface(JNI)是Java语言的本地编程接口,是J2SDK的一部分。在java程序中,我们可以通过JNI实现一些用java语言不便实现的功能。通常有以下几种情况我们需要使用JNI来实现。(没有,有,速度)标准的java类库没有提供你的应用程序所需要...
分类:
其他好文 时间:
2014-07-01 13:29:38
阅读次数:
289
Android APP中时常用到JNI(java本地调用),如果接触过反编译方面的知识,肯定会觉得Android APP是如此地透明。
本文主要总结Android APP用JNI的两种方式,第一种就是在源码下编译源文件生成.so文件 ;第二种是Eclipse配置NDK,不管是哪种方式都有以下的步骤:
1、编写包含native方法的java文件,native关键字申明的方法即是JNI方法。
2...
分类:
移动开发 时间:
2014-07-01 07:23:14
阅读次数:
285