NDK编译
开始一直还天真的以为在桌面下编好的/usr/local/libhpdf.so可以直接用,后来才意识到要用NDK重新编~.~
步骤:
项目路径/jni下有两个文件夹:
libharu 和 lpng163 其中包含了 所有对应的src 和 include文件
还有haru 自带的例子 font_demo.cpp
针对: lpng163
include $(CLEAR_VARS) sources := png.c \ pngerror.c \ pngget.c \ pngmem.c \ pngpread.c \ pngread.c \ pngrio.c \ pngrtran.c \ pngrutil.c \ pngset.c \ pngtrans.c \ pngtest.c \ pngwio.c \ pngwrite.c \ pngwtran.c \ pngwutil.c LOCAL_C_INCLUDES := $(LOCAL_PATH)/lpng163 LOCAL_MODULE := png LOCAL_LDLIBS := -lz LOCAL_SRC_FILES := $(sources:%=lpng163/%) include $(BUILD_STATIC_LIBRARY)
针对libharu
include $(CLEAR_VARS) sources := hpdf_annotation.c \ hpdf_array.c \ hpdf_binary.c \ hpdf_boolean.c \ hpdf_catalog.c \ hpdf_destination.c \ hpdf_dict.c \ hpdf_doc.c \ hpdf_doc_png.c \ hpdf_encoder.c \ hpdf_encoder_cns.c \ hpdf_encoder_cnt.c \ hpdf_encoder_jp.c \ hpdf_encoder_kr.c \ hpdf_encrypt.c \ hpdf_encryptdict.c \ hpdf_error.c \ hpdf_ext_gstate.c \ hpdf_font.c \ hpdf_font_cid.c \ hpdf_fontdef_base14.c \ hpdf_fontdef.c \ hpdf_fontdef_cid.c \ hpdf_fontdef_cns.c \ hpdf_fontdef_cnt.c \ hpdf_fontdef_jp.c \ hpdf_fontdef_kr.c \ hpdf_fontdef_tt.c \ hpdf_fontdef_type1.c \ hpdf_font_tt.c \ hpdf_font_type1.c \ hpdf_gstate.c \ hpdf_image.c \ hpdf_image_png.c \ hpdf_info.c \ hpdf_list.c \ hpdf_mmgr.c \ hpdf_name.c \ hpdf_null.c \ hpdf_number.c \ hpdf_objects.c \ hpdf_outline.c \ hpdf_page_label.c \ hpdf_page_operator.c \ hpdf_pages.c \ hpdf_real.c \ hpdf_streams.c \ hpdf_string.c \ hpdf_u3d.c \ hpdf_utils.c \ hpdf_xref.c LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/libharu/include \ $(LOCAL_PATH)/libharu/src \ $(LOCAL_PATH)/lpng163 LOCAL_LDLIBS := -lz -lm LOCAL_MODULE := haru LOCAL_SRC_FILES := $(sources:%=libharu/src/%) LOCAL_STATIC_LIBRARIES := z png include $(BUILD_SHARED_LIBRARY)
最后就是font_demo了
include $(CLEAR_VARS) LOCAL_MODULE := haru_font LOCAL_SRC_FILES := font_demo.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/libharu/include LOCAL_CPPFLAGS += -fexceptions LOCAL_STATIC_LIBRARIES := z png haru include $(BUILD_SHARED_LIBRARY)
如果只是这样,会报错
error: dereferencing pointer to incomplete type
需要
1) 缺少 pnglibconf.h ,这个文件在png/scripts/pnglibconf.h.prebuilt ,拷贝出来,改名为pnglibconf.h
2)增加 hpdf_image_png.c 的头文件, 在#include <png.h> 后增加
#include <pngstruct.h>
#include <pnginfo.h>
即可成功!
相关推荐
Android系统移植(一)-让android系统在目标平台上运行起来 18 Android系统移植(二)-按键移植 20 Android系统移植(三)-按键字符表 25 android启动过程配置文件的解析与语法 28 android系统开发(四)-触摸屏tslib移植...
android系统成功移植openssh的步骤
OpenSSH移植到android系统externel步骤
FFMPEG 移植到android
将Android移植到FS2410开发板上(转)
Node.js在Android上的移植。移植的版本是0.8.8. Node4Android是相友游戏框架的一部分。相友主要理念,是采用node.js及前端web技术来写手游, 并且做到“单机安装,多机同玩“。 核心思想是以后台启动node.js写的...
详细介绍了Android驱动开发流程,以及相应的Android开发实例以及跨平台
如何XBMC 代码编译成android程序,详细步骤
关于驱动的移植和开发
介绍 不同硬件平台上移植Android的Camera系统
Lua 5.3.3和LuaJava移植至Android的示例
可以移植到android平台实现NTFS文件系统挂载读写
自己搜集整理一份J2ME游戏移植Android文档以及一个实现J2ME接口的一个游戏引擎
Android系统移植;Android系统移植Android系统移植
将本地PC游戏轻松移植到Android的秘技, jni, ndk
移植Android到mini2440开发板
rtl8723ds linuxandroid 驱动 内含详细移植说明,支持android4.4 -- android10.x
主要涉及Opencv的一些基本函数的移植工程,使一些基本的算法可以运行在Android等移动开发平台上的工程
文档记录了ntfs-3g-2013移植到android的详细过程