开始前先吐槽一下。Android没有几个看得上眼的,唯一比较看得上眼的智器阅读在我平板上也是有bug(不会根据你的平板状态来判断是否应该横屏)
我要写PDF阅读器,那个解析PDF的代码也不是我可以写的出来,所以我就去网上找了开源的PDF解析代码。Java直接忽略掉,直接找C的。不负所望,找到了两个比较好的库,还有Android上的demo。
我首先找到的是DroidReader(https://code.google.com/p/droidreader/),这个就是智器阅读使用打开PDF用的开源代码(你可以解压智器的APK可以看到用了一样的库文件)。当我在尝试编译这个代码的时候,发现这个库有一部分是使用了muPDF的源代码的,我就查了一下muPDF,发现这个其实不错了(具体他们之间的差别也不知道),的Demo打开和浏览PDF都很快,于是就决定用这个了。
首先当然是从(https://code.google.com/p/mupdf/)官网上下源代码,当然上面还有APK的,你可以试试。
下载解压之后就是这样
我们直接进入到Android的目录中,打开readme.txt 里面已经详细写好了步骤了。
前面1到8部都是废话加上一些要求的环境
要求的环境:
Android-sdk
Android-NDK
JDK
ANT(这个可以不要的)
(上面那些都是要配置的,具体的配置方式,网上查吧)
cygwin(这个是Window下模拟linux的软件,因为我使用的是window编译,所以我下这个,但是这个安装是个麻烦,不建议使用。建议在虚拟机上安装一个ubuntu,这样会更快,相信我)
第九步,要求你确认有没有“thirdparty”这个文件夹,下的是zip包的话一般都是有的,可以忽略它。
第十步,打开终端(window下要把文件拷到Cygwin的安装文件夹里的Home,不然是看不到的),cd 进根目录,就是截图那个。运行“ make generate”
在ubuntn上一般是没有错误的(只是有些警告,可以忽略它),Cygwin就可能会出错误,因为你安装的时候刚好没有安装到需要的库。具体需要什么库呢,我也不知道,但是我知道的是,要下好长时间。所以还是果断用ubuntn编译吧。编完成后,会出现一个“generated”这个文件夹。
第十步,要求你进入Android 那个文件夹里原地coyp一份“local.properties.sample”。把android-sdk 的位置填上,如下图
然后把“.sample”去掉。其实这一部可以不用做的,如果你不是使用ant来构建工程的话,可以跳过这一步。
第十一步,在Android目录中(注意不是jni目录)中运行“ndk-build”,然后出现我们需要的东西了
libs中的.so文件就是我们需要的。如果你跟足上面的步骤的话就可以在命令行中运行ant就可以得到apk文件了。
不过我是放在IDE运行的
下面是运行程序截图
下一步就是开始解读示例的代码。看懂后才可以写出自己的程序