如何编译并修改FBReader的package(安卓平台)

时间:2021-10-15 14:22:26

FBReader是一款开源电子书阅读器,支持很多文件格式,如ePub, rtf, fb2, html, txt and (partially) mobipocket/kindle等。

本文就来交一下大家如何编译FBReader的安卓源代码,并修改它的package名,之前在博主的另外一个博客(不再更新)上有写过http://blog.csdn.net/zyl_android_apk/article/details/8910498,但是经过之后的实践,不是很理想,下面给出一个新的修改方法。

1、首先下载FBReaderJ的源代码

下载地址是:https://github.com/geometer/FBReaderJ(github如何使用就不介绍了,不会的自行搜索),下载到zip格式的压缩包。

如何编译并修改FBReader的package(安卓平台)


2、已经配置好的android开发环境,包括sdk和ndk,博主用的都是安卓开发官网上给的。

sdk:带有adt 的eclipse,下载地址http://developer.android.com/sdk/index.html

ndk:下载地址http://developer.android.com/tools/sdk/ndk/index.html

cygwin:下载地址http://cygwin.com/install.html

至于如何安装就不详述了,自行谷歌百度。


3、解压下载到的源码包,并将其导入到eclipse中。

如何编译并修改FBReader的package(安卓平台)

如何编译并修改FBReader的package(安卓平台)

导入结果如下图所示:

如何编译并修改FBReader的package(安卓平台)

看到上边的红色叉叉,我们需要修复一下,首先是library

右键单击library,倒数第二个属性,按下图设置

如何编译并修改FBReader的package(安卓平台)

接着是FBReaderJ,同样是右键,属性,按下图设置好

如何编译并修改FBReader的package(安卓平台)

不出意外的话就能消除掉程序的错误。

4、接着需要进行ndk编译,虽然程序看上去没有错误,但是libs文件夹中缺少*.so文件

打开cygwin,进入FBReaderJ文件夹中,运行命令/cygdrive/d/android/android-ndk/ndk-build,就开始进行编译了。如下图所示,等待程序执行完成(比较耗时)。

如何编译并修改FBReader的package(安卓平台)

结果如下图所示

如何编译并修改FBReader的package(安卓平台)

这个时候运行程序就可以正常使用啦

5、修改package

我们研究FBReader主要是希望改造它并为自己所用,所以修改package是很重要的。

5.1 修改AndroidManifest.xml文件

将package="org.geometerplus.zlibrary.ui.android"修改为package="com.aaa.helloworld"并保存

5.2 这时src文件夹中的一些类报错,打开这些保存的文件,将其中报错的import org.geometerplus.zlibrary.ui.android.R;修改为importcom.aaa.helloworld.R;即可。

然后就达到我们的目的啦


github中fbreader原始工程下载地址:http://download.csdn.net/detail/u012314976/6926311

我编译并修改package后的工程下载地址:http://download.csdn.net/detail/u012314976/6926663

个人原创,转载请注明出处:http://blog.csdn.net/zhyoulun/article/details/19283805