NDK 开发
明风的博客
这个作者很懒,什么都没留下…
展开
-
jni 调用 例子
JNI允许程序员编写的本地方法处理的情况下,当一个应用程序不能完全在Java编程语言编写的,例如当标准Java类库不支持平台特定的功能或程序库。它也用来修改在另一种编程语言编写的应用程序中的一个现有的应用程序,以访问爪哇应用程序。许多标准库的类依赖于JNI的开发者和用户提供的功能,例如文件I / O和声音功能。包括性能和平台敏感的标准库中的实现,允许所有的应用程序访问此功能的安全和平台无关的方式。原创 2015-08-13 15:00:22 · 834 阅读 · 0 评论 -
NDK 开发
为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用。下面就介绍下Android NDK的入门学习过程:入门转载 2015-08-13 16:05:18 · 636 阅读 · 0 评论 -
android jni 调用
android JNI是连接android Java部分和C/C++部分的纽带,完整使用JNI需要Java代码和C/C++代码。其中C/C++代码用于生成库文件,Java代码用于引用C /C++库文件以及调用C/C++方法。android Java部分代码:/* * Copyright (C) 2008 The Android Open Source Project * *原创 2015-08-13 16:01:56 · 1232 阅读 · 0 评论 -
arm-linux-androideabi-addr2line
1.将ndk中的arm-linux-androideabi-addr2line可执行文件的路径加入配置文件~/.bashrc中,例如:export PATH=$PATH:~/dlna/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin2.使配置生效:source ~/.bas原创 2016-05-30 09:49:24 · 2545 阅读 · 0 评论 -
JNI各类型参数互相调用
1、java 传入的String 在 C 中转化为 char*打印出来jstring obj;const char* string = (char*)(*env)->GetStringUTFChars(env,obj,NULL);__android_log_print(ANDROID_LOG_INFO, "JNIMsg",string);2、'for' loop initial原创 2016-06-02 17:42:55 · 2073 阅读 · 0 评论 -
JNI多个线程中使用 android开发教程
问题描述:一个java对象通过JNI调用DLL中一个send()函数向服务器发送消息,不等服务器消息到来就立即返回,同时把JNI接口的指针JNIEnv *env(虚拟机环境指针),和jobject obj保存在DLL中的变量里.一段时间后,DLL中的消息接收线程接收到服务器发来的消息,并试图通过保存过的env和obj来调用先前的java对象的方法(相当于JAVA回调方法)来处理此消息此时程序会转载 2016-06-02 18:07:53 · 788 阅读 · 0 评论 -
jni开发需要注意的问题:
jni开发需要注意的问题:背景: 最近一个月一直在做移植库的工作,将c代码到share library移植到Android平台。这就涉及到Android NDK(native develop kit)内容。这里只想记录下JNI(Java native interface)经常遇到到问题。 问题1. 忘记delete local reference。带New到方法(如:NewByt原创 2016-11-25 17:54:39 · 1591 阅读 · 0 评论 -
andorid 自定义log存入文件
//// Created by darren on 17-10-9.//#include #include #include #include #include #include #include #include "5.log.h"#define PROCESSNAME "log.tmp"#define MAXBUFSIZE 1024int get_curren原创 2017-10-11 09:31:48 · 505 阅读 · 0 评论