很多朋友在开发Android JNI的的时候,会遇到findlibrary returned null的错误,因为某种原因,so没有打包到apk中。下面浅析下引起该错误的原因以及平台兼容性问题。
一、没有将so打包到apk中的原因。
当你发现到findlibrary returned null的错误时,其实最直接的解决办法就是解压apk,看看apk中的x86、armeabi、armeabi-v...
分类:
移动开发 时间:
2014-10-09 16:11:08
阅读次数:
145
原因很简单, android的按键事件触发的是onKeyReleased。而不是onKeyPressed。
下面贴上关键代码
1.android部分响应按键,接下来就调用jni接口了
public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent) {
switch (pKeyCode) {...
分类:
移动开发 时间:
2014-10-09 15:38:58
阅读次数:
283
工厂方法一般写法StartLayer * StartLayer::create(){StartLayer *sl = new StartLayer();sl->init();sl->autorelease();return sl;}也能够用CC的CCPlatformMacros.h文件中提供的宏 C...
分类:
其他好文 时间:
2014-10-09 15:24:24
阅读次数:
239
tar xaf cmakelists.tar.bz2 -C hero这些cmake文件是前面写出来的这里大致的总结一下,之后再学习一下,做详细的总结。本着尽量少相关的原则来编排cmake的文件library是指第三方lib,这里只有lzmalib需要写cmake文件。这个改写比较容易,参考jni目录...
分类:
其他好文 时间:
2014-10-09 15:23:13
阅读次数:
154
cocos2d-x中JniHelper类封装了我们所需要的,原理是通过JNI获取java虚拟机,再获取当前程序的JNI环境,通过JNI环境获取需要调用的java类信息,再获取需要调用的java类中的函数信息。再通过JNI环境调用,使用类信息、函数信息,调用对应的java函数。
主要接口:
static bool getStaticMethodInfo(JniMethodInfo &meth...
分类:
编程语言 时间:
2014-10-09 15:09:44
阅读次数:
245
区别1.去CC之前2.0的CC**,把CC都去掉,基本的元素都是保留的2.0
CCSprite CCCallFunc CCNode ..
3.0
Sprite CallFunc Node ..区别2.cc***结构体改变2.0
ccp(x,y)
ccpAdd(p1,p2)
ccpSub
ccpMult
ccpLength(p)
ccpDot(p1,p2);
ccc...
分类:
其他好文 时间:
2014-10-09 03:11:40
阅读次数:
198
使用普通方法实现批处理精灵
在Sprite.h中添加下面的代码
#ifndef __Sprite_SCENE_H__
#define __Sprite_SCENE_H__
#include "cocos2d.h"
USING_NS_CC;
class Sprite : public CCLayer
{
public:
//初始化层
bool init();
...
分类:
其他好文 时间:
2014-10-09 02:29:37
阅读次数:
108
JNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透...
分类:
其他好文 时间:
2014-10-09 02:25:57
阅读次数:
173
网上一大堆的都是使用javah命令来生成头文件来完成JNI编写,但其实ADT集成NDK后,点点鼠标就可以了,懒人方法网上介绍很少,这边主要讲懒人JNI开发。
对于ADT配置NDK,请个人google或查看Android developer,这边不多做介绍。
1. 新建一个Android工程,我这边取名为JNI_Learn,一键生成后代码片段如下:
public class JNI exten...
分类:
移动开发 时间:
2014-10-09 02:17:38
阅读次数:
146
gcc简介1、 gcc是GNU Compiler Collection的缩写。最初是作为C语言的编译器(GNU C Compiler),现在已经支持多种语言了,如C、C++、Java、Pascal、Ada、COBOL语言等。[gcc编译器的作者是Richard Stallman,是GNU项目的奠基者] 2、主要特征: gcc是一个可移植的编译器,支持多种硬件平台,甚至对Don Knuth 设计的...
分类:
其他好文 时间:
2014-10-09 01:45:37
阅读次数:
160