FBReader是一款很优秀的阅读器,虽然现在用户体验比不上国内流行的阅读软件,但是很多优秀的阅读软件都参考了FBReader。
FBReader的官网为,在官网可下载源代码,在GitHub上可以下载,Android客户端的地址为https://github.com/geometer/FBReaderJ。
1、导入
下载到源码后,首先要做的就是导入到eclipse中。将源码解压缩,在eclipse中选择File-import,弹出导入对话框,注意选择Exiting Android Code Into Workspace。
点击下一步。
在下一个对话框中选择FBReader根目录路径,记得要选上Copy projects into workspace,这样就可以正常的导入工程,并且把文件都复制到workspace。
有很多初学Android的童鞋(包括我),兴冲冲的从GitHub上下了开源项目,选择Exiting project into workspace,却提示No projects are found to import,或者其他错误,往往百思不得其解,其实是导入的方法错误了。
2、配置Apache Ant环境
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,FBReader的编译需要用到Ant,首先要配置Ant环境。
下载Ant:
下载后解压,将bin目录添加到path环境变量,打开一个cmd窗口,输入ant,如果出现以下提示,说明ant配置成功
返回到eclipse,打开刚导入的FBReader工程,在更目录下有个local.properties(如果没有的话就创建一个),进行以下配置,
sdk.dir=D:\\Android\\android-sdk
ndk.dir=D:\\Android\\android-ndk
分别是android sdk和ndk的路径。
3、NDK编译
在eclipse中选择File-New-Project,在新建工程对话框中选择,c/c++ Makefile Project with Existing Code。
在下一个对话框中进行以下配置
Existing Code Location为FBReader工程根目录下的jni目录。
打开jni下的Application.mk
内容修改为
APP_ABI := armeabi
#APP_ABI := armeabi armeabi-v7a x86 mips mips-r2 mips-r2-sf
#APP_ABI := all
APP_STL := stlport_static
这样可以加快编译速度。
然后Project-Build All,开始进行编译,时间会比较长,编译成功后会在lib下生成so文件
注意:这种编译方法无需配置cygwin环境,但是需要最新版本的ndk。
最后:
打开cmd,切换到FBReader工程跟目录,执行ant release