NDK环境下使用的是.so库吧,还要知道相应的JNI接口。
解决方案 »
- android自带的计算器(Calculator),核心计算部分在哪儿?怎么改?
- 请教这种时间格式如何转换为固定的时间格式
- 想基于CM7源码一直MIUI不知可否?
- activity不能正常显示的问题
- 如何在一个按钮的右下角显示一个图标?
- android ant build error:
- 再次请教高手,凡是高手有经验的一定帮帮忙,解决后我会共享经验吗,谢谢
- Android画布(Canvas)之--- 圆环,利用Path切除一个扇形,形成一段圆弧效果
- 装完SDK然后发现system image文件夹有12G
- android studio 运行配置里module总是灰色,没有可选项,咋回事吖!?
- android 如何检测连接的wlan wifi需要portal认证
- android 新手求助
或者是.a静态库对吧?如果是,比如说库头文件为xxx.h,生成的静态库为xxx.a,那么:
1、ndk工程中(比如我的是CSTest.cpp)需要#include xxx.h么?
2、xxx.a放在什么位置下? NDK工程的jni目录下?
3、我的Android.mk 如下面这么写对吗?LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)
LOCAL_MODULE := xxx
LOCAL_SRC_FILES := xxx.a
include $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)
LOCAL_MODULE := CSTest
LOCAL_SRC_FILES := CSTest.cpp
LOCAL_STATIC_LIBRARIES := xxxinclude $(BUILD_SHARED_LIBRARY)
建议你去看一下 NDK 的文档, 在根目录下的 docs 目录下, NDK 中还有一些 示例代码, 建议你也去看看添加头文件 :
直接把头文件拷贝到 jni 代码中即可, 在 Adroid.mk 中 LOCAL_EXPORT_C_INCLUDES := 头文件路径名 注明dll lib 库是 Windows 下的动态库 和 静态库 在 NDK 下不能用
x86 平台的 静态库 和 动态库 虽然也是 so 和 a 后缀, 但是 NDK 上也不能用, 必须是 交叉编译过的 库才行
注意 必须是 NDK 交叉编译过的, 使用其它交叉编译工具编译出来的 arm 平台的 库也不能使用NDK 下能够调用的 动态库 和 静态库 必须是 使用 ndk 交叉编译过的 .so 和 .a 文件
最终生成的xxx.so供Android调用,xxx.so引用了yyy.a静态库,xxx.so已经成功编译并生成,问题是yyy.a静态库需不需要和xxx.so一并发布呢(放在同一目录下)?windows下的lib是不需要的,不知道这个需要不需要?
http://blog.csdn.net/lanhxg/article/details/38373943
https://developer.android.com/tools/sdk/ndk/index.html#Installing