Android JNI入门教程最近公司里有项目要用到jni,就研究并整理了下,现在分享给大家。下载最新的ndk,新建环境变量NDK_ROOT,值是ndk的根目录,并把它加到PATH。这样做是因为我们要用到ndk的ndk-build.cmd,而且像eclipse要根据NDK_ROOT识别ndk。现在新...
分类:
移动开发 时间:
2015-08-07 14:41:33
阅读次数:
121
jni层调试线程死机原因
一,导致死机原因:
jni层中 线程函数中 只要添加调用env 的函数 ,,就会死机
二,解决方法
第一我们应该理解:
①(独立性) JNIEnv 是一个与线程相关的变量,即线程A有一个 JNIEnv变量, 线程B也有一个JNIEnv变量,由于线程相关,所以A线程不能使用B线程的 JNIEnv 结构体变量。那么如何保证了...
分类:
编程语言 时间:
2015-08-04 11:25:36
阅读次数:
223
开始接触Android JNI层面的内容,推荐一本不错的入门级的书《Android的设计与实现:卷一》,这两天看了一下关于Java层和Native层函数映射的章节,加深对JNI的理解。先是写了一个非常简单的计算器,关键的运算放在Native层实现,然后把运算的结果返回到Java层,写这个的时候还是自...
分类:
移动开发 时间:
2015-08-03 22:14:06
阅读次数:
242
方法一支持。方法二与方法三都是三方单元,功能相同。方法4与方法5报错,提示平台不支持。第三方单元一: 1 unit Android.JNI.Toast; 2 3 // Java bridge class imported by hand by Brian Long (http://blong.co....
分类:
移动开发 时间:
2015-07-30 19:13:56
阅读次数:
180
上篇,把基本工作做完了,接下来,在C++下添加代码。
1、打开win32下的工程,添加一个类,DomobAd,代码如下,
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include
#include "platform/android/jni/JniHelper.h"
//#include
#include "coc...
分类:
移动开发 时间:
2015-07-24 12:54:24
阅读次数:
176
1、将java字符串转化为c++字符串
/**
*工具方法
*将java字符串转化为c++字符串
*返回字符串数组的首地址
*/
char* Jstring2CPPStr(JNIEnv* env, jstring jstr, jstring encode) {
char* rtn = NULL;
jclass clsstring = env->FindClass("java/lang...
分类:
移动开发 时间:
2015-07-22 14:35:32
阅读次数:
146
android jni代码回调java的问题
由于多线程原因会导致找不到java类,无法call函数的问题
问题1找不到java类
在JNI_OnLoad的时候 保存下来 JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
{
g_vm = vm;
JNIEnv* env = NULL;
jint...
分类:
其他好文 时间:
2015-07-21 18:35:50
阅读次数:
124
1.简介MediaScannerJNI的在MediaScanner中的地位可参考
Android MediaScanner 总纲
MediaScanner JNI文件名:
android_media_MediaScanner.cpp
位置:
frameworks\base\media\jni\android_media_MediaScanner.cpp
android...
分类:
移动开发 时间:
2015-07-17 21:03:29
阅读次数:
167
Android JNI开发中用到了OpenCV,因为想通过JNI实现,就没有去用Android层的Lib引用。但是操作中发现在.cpp文件里include的时候发现“#include ”(opencv.hpp在opencv2下面)报了个警告说“fatal error: opencv.hpp: No such file or directory”,说没有找到文件,我就纳闷了,我明明在包含关系中设置了...
分类:
系统相关 时间:
2015-07-11 18:32:24
阅读次数:
373
使用Android JNI 获取应用程序签名。获取基础上生成自己的签名password,这可以防止别人反编译找到自己的源代码password。jstring Java_com_masonsdk_jni_JNIUtil_getPWD(JNIEnv* env, jobject thizz ,jobje....
分类:
移动开发 时间:
2015-07-10 18:41:48
阅读次数:
163