FBReader开源项目在国内还是挺流行的,但是目前貌似很少有这方面的资料,可能是高手都没时间,不愿意写。我很浅薄,冒天下之大不韪,希望各位高手不要笑话。写文章的初衷本就是秉承开源、共享、免费、自由的精神,所以也是跟随FBReader的本意,没有其他目的。文章的好坏,也是任人评说,仁者见仁,智者见智,只当抛砖引玉。望更多的童鞋加入其中,把开源的精神发扬广大!
(原文:http://www.docin.com/p-402694719.html)
一、编译源代码
紧接上篇文章,配置好环境后,接下来就是编译源代码运行。当初直接点击“运行”,但那是引用了它已经生成好的SO库的情况下,今后将开始简单修改代码(c/c++),所以会重新编译。过程如下:
1.找到FBReader所在的路径(类似):
C:\Users\Luzaimou\Desktop\FBreader2.0\FBReaderJ
2.打开cygwin,跑到对应的目录:
3.直接输入“$NDK/ndk-build"即可,编译可能需要点时间。
4.不错问题的话,应该能够生成so文件了,刷新一下项目的libs目录。
5.运行。
二、FBReader文件结构
FBReader开源项目在国内还是挺流行的,但是目前貌似很少有这方面的资料,可能是高手都没时间,不愿意写。我很浅薄,冒天下之大不韪,希望各位高手不要笑话。写文章的初衷本就是秉承开源、共享、免费、自由的精神,所以也是跟随FBReader的本意,没有其他目的。文章的好坏,也是任人评说,仁者见仁,智者见智,只当抛砖引玉。望更多的童鞋加入其中,把开源的精神发扬广大!
我尽我所能写文章,如有纰漏,大家指点海涵(我也是刚刚研究2.0)。
FBReader的源码文件结构大致如下:
FBReader
|_________src (JAVA源代码)
|_________assets (这里有默认的那本书,还有背景图片等)
|_________docs (里面有一PDF,介绍如何安装Cygwin)
|_________icons (一些图标,比如Menu,文字搜索的小图标)
|_________jni (C/C++实现的库文件,内容比较多)
|_________libs (生成的SO文件放这里)
|_________obj (.a文件放这里)
|_________obsolete(用处不明)
|_________res (布局和string等xml放这里)
|_________scripts (用处不明)
|_________AndroidManifest.xml
项目大概结构如此,下面介绍具体的Java部分的包。
具体内容如下:
下面就是C/C++部分简单的解析,jni文件夹下:
文件夹主要的结构就是如此,其他的比如Assets、Icons、Obsolete文件夹下,就由大家自己去了解。到这里,文件夹就基本搞定。
四、重要文件分析
首先,编译C/C++的时候,需要编写NDK能够识别的Android.mk文件。它规定了整个编译的流程,还有需要调用的包,非常重要。
(省略N多字,全文请看http://www.docin.com/p-402694719.html)
暂时没有评论