![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android ndk
保定老狼
这个作者很懒,什么都没留下…
展开
-
入了解android平台的jni(一)
android中很多Java类都具有native接口,这些接口由本地实现,然后注册到系统中,主要的JNI代码放在以下的路径中:frameworks/base/core/jni/,这个路径中的内容被编译成库 libandroid_runtime.so,被放置在目标系统的/system/lib目录下。此外,android还有其他的 JNI库。JNI中的各个文件,实际上就是普通的C++源文件。如果要深入转载 2013-03-20 17:50:32 · 701 阅读 · 0 评论 -
JNI 内存释放
代码写完,发现native heap内存居高不下,不会自动释放。现尝试释放以下部分看看效果。必须释放(引用数据类型):jclassjobject(返回给java的不用释放)各类数组jstringjobjectArrayjbyteArray无需释放:jmethodid原创 2016-01-17 17:41:28 · 956 阅读 · 0 评论 -
Android NDK学习 <三> Android.mk实例和NDK实用技巧
作者:Sam (甄峰) sam_code@hotmail.com例1:JNI程序使用libhello-jni.so的符号。libhello-jni.so由hello-jni.c组成。hello-jni.c如下:#include #include #include #define LOG_TAG "libhello-jni"#d转载 2013-03-21 10:46:51 · 986 阅读 · 0 评论 -
Eclipse+CDT+GDB调试android NDK程序
好文啊Eclipse+CDT+gdb调试android ndk程序先介绍一下开发环境,在这个环境下,up主保证是没有问题的。ubuntu 11.10eclipse 3.7(indego) for javajdk 6android sdk 2.2andrid ndk r7 当然,在windows环境下通过cygwin等工具也是可以实现gdb调试的,我也确实实现过。但是转载 2013-03-20 17:41:49 · 745 阅读 · 0 评论 -
Android NDK学习 <六> 复杂结构动态库处理和第三方库的移植
作者: Sam (甄峰) sam_code@hotmail.com0. 动态库加载方式:方法1:在运行时动态链接库, 动态地将程序和共享库链接并让 Linux 在执行时加载库(动态链接,系统加载)方法2:动态加载库并在程序控制之下使用它们。(动态加载)NDK学习 复杂结构动态库处理和第三方库的移植" name="image_operate_49113376022转载 2013-03-21 10:49:26 · 1189 阅读 · 0 评论 -
Android NDK学习 <二> Android.mk的制作
作者:Sam (甄峰) sam_code@hotmail.com0. Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析过程中定义。转载 2013-03-21 10:46:10 · 633 阅读 · 0 评论 -
ANDROID JNI之JAVA域与c域的互操作
本文讲述AndroidJava域与C域互操作:Java域调用c域的函数;c域访问Java域的属性和方法;c域生成的对象的保存与使用。重点讲解c域如何访问Java域。虽然AndroidJNI实现中,c实现与c++实现是有所区别的,但行文中并未区分c还是c++。0. Android中的JNIAndroid的APP开发一般是用Java,用到的系统服务和操作系统相关的东西转载 2013-03-21 15:06:56 · 827 阅读 · 0 评论 -
Android NDK学习 <五> C++ 支持
作者: Sam (甄峰) sam_code@hotmail.com0.基础知识:Android Platform提供一个非常小的C++ runtime 支持库(/system/lib/libstdc++)和头文件。但此System C++库支持非常有限,不支持以下 : - Standard C++ Library support (except a few trivial转载 2013-03-21 10:48:02 · 1036 阅读 · 0 评论 -
Android NDK学习 <四> Application.mk简介
作者:Sam (甄峰) sam_code@hotmail.comApplication.mk简介:0. 基础知识介绍:Application.mk用来描述应用程序需要哪些modules。Application.mk通常放在:$PROJECT/jni/Application.mk。2. Application.mk变量:Application.mk是GNU转载 2013-03-21 10:47:26 · 778 阅读 · 0 评论 -
Android NDK学习 <一> 简介
作者:Sam (甄峰) sam_code@hotmail.comAndroid NDK( Native Developer Kit )是个工具集,它提供一套方法,使Android应用程序(Java程序)可以内嵌native(C,C++)程序。Android应用程序(Java程序)运行于Dalvik虚拟机中。NDK允许应用程序的一部分使用native语言(C,C++)来实现。这对很转载 2013-03-21 10:45:31 · 939 阅读 · 0 评论 -
深入了解android平台的jni(二)
Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。一、Android.mk文件的用途 一个android子项目中会存在一个或多个Android.mk文件。 1、单一的Android.转载 2013-03-21 10:44:13 · 702 阅读 · 0 评论 -
NDK学习(一)
1、遇到第一个问题是当把文件改成c++时,报找不到接口,后面才知道混编要加上extern"C",混编详见:http://www.jb51.net/article/37386.htm2、C\C++不自带JSON解析库,所以找了一个普遍应用的cJSON,很轻量级。http://download.csdn.net/detail/baodinglaolang/9385331原创 2015-12-31 13:43:22 · 473 阅读 · 0 评论