情况一:JniHelper.h头文件无法找到
方法:需要添加附加包含目录即可解决问题。具体操作步骤如下:右击项目---->c/c++---->常规---->附加包含目录---->添加JniHelper.h所在的路径即可。此时可能还会遇到找不到jni.h和jni_md.h的问题,解决方案为在%JAVA_HOME%/include/下找到
 jni.h,在%JAVA_HOME%/include/w...
                            
                            
                                分类:
编程语言   时间:
2015-04-24 06:47:37   
                                阅读次数:
150
                             
                    
                        
                            
                            
                                移植libev事件库到Android中,因为libev库是使用C语言写的,所以在Android项目中使用此库的方法是把libev编译成.so文件,在Android中使用jni方式来调用libev的.so文件。...
                            
                            
                                分类:
移动开发   时间:
2015-04-21 11:16:20   
                                阅读次数:
1065
                             
                    
                        
                            
                            
                                JNI_C语言基础
JNI(java native interface) 
Java本地开发接口,JNI是一个协议,这个协议用来沟通Java代码和外部的本地代码(c/c++). 
通过这个协议Java代码就可以调用外部的c/c++代码,外部的c/c++代码也可以调用java代码, 
使用JNI技术,其实就是在Java程序中,调用C语言的函数库中提供的函数,来完成一些Java语言无法完成的任务。由于J...
                            
                            
                                分类:
编程语言   时间:
2015-04-10 15:34:39   
                                阅读次数:
140
                             
                    
                        
                            
                            
                                经过几天的努力终于搞定了android JNI部分,下面将我的这个小程序和大家分享一下。android JNI是连接android Java部分和C/C++部分的纽带,完整使用JNI需要Java代码和C/C++代码。其中C/C++代码用于生成库文件,Java代码用于引用C /C++库文件以及调用C/...
                            
                            
                                分类:
移动开发   时间:
2015-04-07 15:27:13   
                                阅读次数:
124
                             
                    
                        
                            
                            
                                前言:当我们在android中的使用JNI下编译的.so库时,很有可能底层编译好的native method出现异常,而且底层并没有对这个异常进行捕捉,这样在我们APK上就是表现为退出程序,查看打印信息,出现的提示是:A/libc(2730): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 3661 (ervice.Executo...
                            
                            
                                分类:
数据库   时间:
2015-04-02 18:57:37   
                                阅读次数:
300
                             
                    
                        
                            
                            
                                使用cocos2dx开发游戏过程中难免需要调用其他代码,因为其是跨平台的。必然会要去调用不同平台的代码,这篇博客就介绍如何使用Jni来实现c++与java代码的互调。 先实现c++调用Android的java层代码。我们先添加一个类,比如类名叫CallJava,下面贴上代码,再做解释: 1 #...
                            
                            
                                分类:
编程语言   时间:
2015-03-29 01:48:11   
                                阅读次数:
366
                             
                    
                        
                            
                            
                                欢迎转载,务必注明出处:
源码下载地址:http://download.csdn.net/detail/u010406724/8515377
本篇介绍怎么使用前面建立好的库文件。
要使用JNI库文件,那么首先我们是需要把它加载到系统中,并对其定义接口,供给应用来调用。
建立一个工程,我的工程名为RealArmTest,过程就省略了,完成后再在src下建立一个类,不继承其他类,包...
                            
                            
                                分类:
移动开发   时间:
2015-03-19 16:19:57   
                                阅读次数:
247
                             
                    
                        
                            
                            
                                1.简单例子假设我们Java中有这么一个open的静态方法,它没有参数,有一个int的返回值。怎么在C++中调用它呢?package cb.CbCCBLE;
public class CbCCBLECentralManager {
    public static final String TAG = "CbCCBLECentralManager Android";
    public sta...
                            
                            
                                分类:
编程语言   时间:
2015-03-18 18:09:05   
                                阅读次数:
237
                             
                    
                        
                            
                            
                                1.首先是LoadLibrarycocos2d中的C++代码会编译成一个.so文件,放在安卓目录下的libs/armeabi 下,然后java会load进来,这步我们不用做了,因为cocos2d已经帮我们做好了。package cb.CbCCBLE;
public class CbCCBLECentralManager {
	
    public static final String TA...
                            
                            
                                分类:
编程语言   时间:
2015-03-18 18:08:34   
                                阅读次数:
153
                             
                    
                        
                            
                            
                                出于效率的问题,很多情况下,我们需要在上层的Java代码中调用底层 C或C++实现,这时jni就可以大显身手了。jni(Java Native Interface)允许Java代码和其他语言写的代码进行交互,使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样 做是可以接受的,甚至是必须的。例如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。使用JNI...
                            
                            
                                分类:
编程语言   时间:
2015-03-08 17:15:39   
                                阅读次数:
152