早就知道Java有个jni可以调用本地化代码,一直没有动力去研究它,现在公司想通过在Android中调用本地化代码来申请较多的内存以突破Android对单个进程的内存限制,这确实是可行的:我的Nexus4内存2G,Android限制每个进程64M内存,而我用NDK写代码申请到了1,276,641,280字节。在学NDK开发的过程中遇到了各种问题,现在我将在解决问题过程中收集到的一些链接贴出来以助后人。

android NDK与Cygwin配置

ndk不大,只有400多M;Cygwin很大,全选有6G,安装后17G,我下了一天才下好的,所以不要全选。

Android NDK开发入门实例

这篇文章给我这种零基础的jni使用者大概地描述了NDK开发的全程,文中例子的例子改编自$(NDK)/samples/hello-jni,另注意: -classpath bin/classes(作者的开发工具可能比较老)

Android JNI知识简介

这篇文章更深入地介绍了jni

Android平台Native开发与JNI机制详解

这篇文章有调用java成员方法的例子,取成员变量的值也类似

JNI怎么使用stl

可以用stl的话,map/list/vector都有了,方便啊。

在上面这篇文章中我学到了ndk-build clean,可是clean的时候报错了:

/cygdrive/d/android-ndk-r8e/build/core/build-binary.mk:52: recipe for target `clean-cocos_curl_static-armeabi' failed

百度到了解决方案:http://bbs.csdn.net/topics/390415433?page=1

Android NDK编译带STL的 C/C++ 程序

APP_CFLAGS += -fexceptions,以及LOCAL_SRC_FILES 也可以是树形结构的多源文件

java学习之JNI 学习五 处理数组

这篇文章讲了native中怎么操作java中的数组,jni真的是无所不能啊!

基于 Android NDK 的学习之旅-----资源释放

C/C++中没有gc,我们还要注意内存资源的释放,不过这篇文章有一处错误:jmethodID、jfieldID是不用释放的,它们是结构体指针,而非_jobject子类指针,不能通过DeleteLocalRef来释放,我们一般是用全局变量保存它们(它们在相应的class存在期间都是有效的),它们应该是dalvik自己负责释放的。

android开发--- jni使用RegisterNatives注册本地方法

RegisterNatives最好不要用,经过试验它没有提高调用native方法的效率,还经常导致无法解释的UnsatisfiedLinkError,但是这篇文章的宏定义值得COPY。

numeric second argument to `wordlist function: .

不知道什么时候,ndk-build遇到了这个错误,解决方案:
http://www.02521.com/cod/29738.html

JNI Tips

android官方的Tips,这篇文章是我看得最放心的文章,解开了不少疑惑。

这篇文章对Android.mk解释得相当深入。

Android JNI(NDK)开发总结的更多相关文章

  1. android Jni NDK开发环境搭建及其简单实例的编写

    android  Jni  NDK开发环境搭建及其简单实例的编写 由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下.遇到了些问题,然后总结下学习过程中 ...

  2. Android JNI/NDK开发教程

    JNI/NDK开发指南:http://blog.csdn.net/xyang81/article/details/41759643

  3. Android SDK NDK开发总结

    描述:http://talent.baidu.com/external/baidu/index.html#/jobDetail/2/1237247043 android studio实现Jni(C/C ...

  4. Android之NDK开发(转)

    Android之NDK开发 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第 ...

  5. Android之NDK开发

    转自:http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支持C ...

  6. 【转】Android之NDK开发

    原文网址:http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支 ...

  7. JNI/NDK开发指南(开山篇)

    转载请注明出处:http://blog.csdn.net/xyang81/article/details/41759643 相信很多做过Java或Android开发的朋友经常会接触到JNI方面的技术, ...

  8. JNI/NDK开发

    公司的新需求终于解决完了,离测试和发布还有段时间,第一次体验了下没需求没bug的感觉,真是舒爽~然后翻了翻有什么可以学的.无意翻到了Android后期发展的五大趋势.一.性能优化.二.高级UI.三.J ...

  9. Android JNI&NDK编程小结及建议

    前言 由于网上关于JNI/NDK相关的知识点介绍的比较零散而且不具备参照性,所以写了这篇JNI/NDK笔记,便于作为随时查阅的工具类型的文章,本文主要的介绍了在平时项目中常用的命令.JNI数据类型.签 ...

随机推荐

  1. iOS设备per app vpn,什么是什么系统的要求,必须?

    坑爹Apple网站信息MDM厂商资料,最有发言权iOS 7.x设备支持per app vpn该,但它没有说明是什么系统要求环保要求. 1. iOS 7.x 设备.当然 2. iOS 7.x 需要设备M ...

  2. iOS使用UIScrollView实现左右滑动UITableView和UICollectionView

    在UIScrollView嵌套UITableView这篇文章是非常,但该项目的需求,需要嵌套UICollectionView,和UICollectionView和UITableView有非常多的不同, ...

  3. hdu 3709 数字dp(小思)

    http://acm.hdu.edu.cn/showproblem.php?pid=3709 Problem Description A balanced number is a non-negati ...

  4. 2014鞍山直播比赛H称号HDU5077(DFS修剪+通过计)

    NAND Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Sub ...

  5. hdu2191 悼念512汶川大地震遇难同胞——珍惜如今,感恩生活

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191 Problem ...

  6. 安裝 Rails 開發環境

    安裝 Rails 開發環境 Give someone a program, you frustrate them for a day; teach them how to program, you f ...

  7. Asp.net MVC + EF + Spring.Net 项目实践(二)

    这一篇主要介绍数据库和entity framework集成 1. 先创建数据库,很简单的几张表,但也涉及了一些主外键关系.联合主键等,关系图如下(DB脚本在最后) 2. 打开VS,现在建立Model实 ...

  8. EasyUI combox实现联动

    多的时间将被用于combox联动效应.一个选择combox的值自己主动出这值有关相应的其他信息,例如省市联动.最近,我刚刚会见了班似要求,随着EasyUI  combobox 控制完成.假设ASP.N ...

  9. Windbg Extension NetExt

    Windbg Extension NetExt 摘要 : 在使用WINDBG做debugging的时候,需要一个好的工具帮助进行数据分析. 最常见的extension包括SOS, PSSCOR.  N ...

  10. Java 之关键字 null 使用总结

    1.null的使用 Java中,null是一个关键字,用来标识一个不确定的对象.因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量.比如我们在定义一个变量的时候我们通过会这样做:X ...