有个东西不大清楚了,怎么编译第三方的SO库。
机器是UBUNTU,先在本地用第三方的源码及MAKEFILE编译出纯C版本的SO库。这些第三方代码整体移植比较复杂,就想用JNI来调用头文件中提供的接口。结果不能用。
因为自己的应用是系统级的,不能直接用NDK的BUILD,只能MM,不能用NDK的DOC里的方法做。ANDROID.MK应该怎么写,还有我不想把SO复制到OUT目录里。
我的JNI相关的文件都放在一个目录里,
包括Android.mk;a.cpp;liborigin.so;a.h
android.mk是这样的。
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := foo-prebuilt
LOCAL_SRC_FILES := liboringa.so
include $(PREBUILT_SHARED_LIBRARY)include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := eng
#LOCAL_PRELINK_MODULE := false
LOCAL_MODULE := libfoo
LOCAL_SRC_FILES := /a.cpp
LOCAL_C_INCLUDES := /zinnia.h
LOCAL_SHARED_LIBRARIES := foo-prebuilt
include $(BUILD_SHARED_LIBRARY) mm后报错,需要的目标“out/target/product/generic/obj/lib/foo-prebuilt.so”。 停止。
硬放到那个目录下,又报错说那个方法没有定义。
机器是UBUNTU,先在本地用第三方的源码及MAKEFILE编译出纯C版本的SO库。这些第三方代码整体移植比较复杂,就想用JNI来调用头文件中提供的接口。结果不能用。
因为自己的应用是系统级的,不能直接用NDK的BUILD,只能MM,不能用NDK的DOC里的方法做。ANDROID.MK应该怎么写,还有我不想把SO复制到OUT目录里。
我的JNI相关的文件都放在一个目录里,
包括Android.mk;a.cpp;liborigin.so;a.h
android.mk是这样的。
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := foo-prebuilt
LOCAL_SRC_FILES := liboringa.so
include $(PREBUILT_SHARED_LIBRARY)include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := eng
#LOCAL_PRELINK_MODULE := false
LOCAL_MODULE := libfoo
LOCAL_SRC_FILES := /a.cpp
LOCAL_C_INCLUDES := /zinnia.h
LOCAL_SHARED_LIBRARIES := foo-prebuilt
include $(BUILD_SHARED_LIBRARY) mm后报错,需要的目标“out/target/product/generic/obj/lib/foo-prebuilt.so”。 停止。
硬放到那个目录下,又报错说那个方法没有定义。
解决方案 »
- 现在有一个图片想添加颜色 ,然后图片上有个标记,需要移动
- Monkeyrunner下运行press提示Error sending press event
- android程序自动更新安装详解.doc
- 简单解析XML
- android 平台下编译二进制程序报线程函数问题
- 怎么保存菜单状态?并且可以随意选择切换
- 是alertdialog还是popwindow啊?
- 手机移动开发入门问题请教
- 请教一个helloworld的问题
- 通过Intent录制视频时的音频编码格式AMR-NB问题
- 在写一个让surfaceview遊戏架构也可以播放视频的类时出现的错误
- webView加载flash时无法正常显示带中文的路径的swf文件。
LOCAL_SRC_FILES := liboringa.so这个SRC_FILES引用的是源码,也就是你的a.CPP文件,你引用so库做什么?