Android之NDK开发再探
2010-03-09 09:43
225 查看
通过SDK/NDK构建的基于本地功能的程序能够比较方便地迁移到实际的运行平台上。
一般对于SDK-eclipxe创建的JAVA应用程序,可以将整个工程目录复制到文件系统源码的development/samples之下,和SDK的一些例程放在一起,虽然不是最符合规范,但比较方便,基本不需要对mk文件进行任何配置和改变。
对于本地程序,NDK开发环境只提供了一些基本的C/C++库的支持,因此只适合简单功能模块的SDK/NDK联调或写一些stubs。对需要应用到更多的底层功能情形,应考虑直接在文件系统源码中直接开发本地程序,只要最终对JNI的入口是位于unix/linux体系的Shared Library(so扩展名文件)即可。在Android的makefile体系中,已经定义了各种目标形式的scripts,可以直接在底行中引入:
include $(BUILD_SHARED_LIBRARY)
即可完成Shard Library的创建。由于孤立的自行的创建库没有链入Android的prelink体系,需要将这个功能关闭,在mk中添加变量设置:
LOCAL_PRELINK_MODULE := false
这样最终就能在目标的/system/lib中生成以LOCAL_MODULE变量命名的so文件模块(libxxx.so)。在JAVA应用中只需load一下xxx即可。
一般对于SDK-eclipxe创建的JAVA应用程序,可以将整个工程目录复制到文件系统源码的development/samples之下,和SDK的一些例程放在一起,虽然不是最符合规范,但比较方便,基本不需要对mk文件进行任何配置和改变。
对于本地程序,NDK开发环境只提供了一些基本的C/C++库的支持,因此只适合简单功能模块的SDK/NDK联调或写一些stubs。对需要应用到更多的底层功能情形,应考虑直接在文件系统源码中直接开发本地程序,只要最终对JNI的入口是位于unix/linux体系的Shared Library(so扩展名文件)即可。在Android的makefile体系中,已经定义了各种目标形式的scripts,可以直接在底行中引入:
include $(BUILD_SHARED_LIBRARY)
即可完成Shard Library的创建。由于孤立的自行的创建库没有链入Android的prelink体系,需要将这个功能关闭,在mk中添加变量设置:
LOCAL_PRELINK_MODULE := false
这样最终就能在目标的/system/lib中生成以LOCAL_MODULE变量命名的so文件模块(libxxx.so)。在JAVA应用中只需load一下xxx即可。
相关文章推荐
- Android之NDK开发
- android 开发 NDK相关问题
- Android开发之NDK初体验
- 每天一点Android开发----NDK开发
- 【android 开 发 】 - Android studio 下 NDK Jni 开发 简单例子
- android开发ndk‘sdk下载地址
- 10分钟搭建 NDK 的 Android 开发环境
- Android中NDK开发时使用数组
- 史上最易懂的Android jni开发资料--NDK环境搭建
- Android-NDK开发之基础--Android.mk的用法和基础(转CSDN)
- android studio ndk环境搭建 和开发
- 【Cocos2d-X(2.x) 游戏开发系列之二】cocos2dx最新2.0.1版本跨平台整合NDK+Xcode编译到Android 推荐
- Android JNI和NDK学习--搭建NDK开发环境(链接)
- 怎样用 C/C++ 开发一个原生程序运行在 Android 下而不用 ADK、NDK
- Android本地视频播放器开发--NDK编译FFmpeg
- Android之NDK开发
- Android Studio NDK 开发配置
- android开发 NDK 编译和使用静态库、动态库
- Android之NDK开发
- android开发资源网站,下载各版本SDK源码、Android Studio、NDK等