fbreader android源码分析,开源阅读器FBReader Android版本的编译
FBReader是一款很优秀的阅读器,虽然现在用户体验比不上国内流行的阅读软件,但是很多优秀的阅读软件都参考了FBReader。
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:http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.9.2-bin.zip
下载后解压,将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
fbreader android源码分析,开源阅读器FBReader Android版本的编译相关推荐
- android 源码分析 内置 sd storage,Android开罐头———外部存储与内部存储完全解析...
context.getExternalFilesDir(),Environment.getExternalStorageDirectory(),傻傻分不清?到底什么算安卓手机的external sto ...
- Android 源码分析
查看源码版本号: build\core\version_defaults.mk //搜索该文件中的 PLATFORM_VERSION值 frameworks 目录 (核心框架--java及C++语言) ...
- Android源码分析—属性动画的工作原理
转载请注明出处: http://blog.csdn.net/singwhatiwanna/article/details/17853275 前言 本文为Android动画系列的最后一篇文章,通过对源码 ...
- Android源码分析 - Zygote进程
开篇 本篇以android-11.0.0_r25作为基础解析 上一篇文章Android源码分析 - init进程,我们分析了Android第一个用户进程init进程的启动过程和之后的守护服务 init ...
- Wifi模块—源码分析Wifi启动2(Android P)
一 前言 在上一篇分析了wifi启动的流程,从Android应用层一直分析到了Java框架层,这次我们接着往下走流程.如果没有看上一篇的建议先回头看看 Wifi模块-源码分析Wifi启动1(And ...
- Android源码分析-全面理解Context
前言 Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像 ...
- Wifi模块—源码分析Wifi热点扫描(Android P)
一 前言 这次接着讲Wifi工程流程中的Wifi热点查找过程,也是Wifi启动的过程延续,Wifi启动过程中会更新Wifi的状态,框架层也有相应广播发出,应用层接收到广播后开始进行热点的扫描.可以先看 ...
- Android源码分析--MediaServer源码分析(二)
在上一篇博客中Android源码分析–MediaServer源码分析(一),我们知道了ProcessState和defaultServiceManager,在分析源码的过程中,我们被Android的B ...
- 对Android源码分析总结(Z)
也许大家对与Android源码还不是很了解,看完本文后对您一定会大有帮助,下文除了学习Android源码基本性质外还对Android源码的编程技巧给予说明. 在Android中进行处理Android源 ...
- Android源码分析(十一)-----Android源码中如何引用aar文件
一:aar文件如何引用 系统Settings中引用bidehelper-1.1.12.aar 文件为例 源码地址:packages/apps/Settings/Android.mk LOCAL_PAT ...
最新文章
- HDU - 5874 Friends and Enemies 完全二分图
- 编译Android源码前的一个步骤
- Linux下fork()函数
- php 中调用 require include 的比较
- C#——《C#语言程序设计》实验报告——综合练习——委托、Lambda表达式、LINQ、接口
- Nginx的405 not allowed错误解决
- marked Options
- Java路径问题最终解决方案—可定位所有资源的相对路径寻址
- int指令01 - 零基础入门学习汇编语言64
- 文件夹复制 覆盖_软网应用:U盘即插即复制
- centos下编译lnmp环境
- Spring容器启动时出现Failed to read schema document错误
- 导入php项目_商业裂变,之项目技术实战(第九节:程序框架的安装)
- android 字符串 转json,Android将字符串转换为JSON
- 04 高等数学专题——向量代数和空间解析几何
- office无法office无法卸载无法安装的解决方法卸载无法安装的解决方法
- 自学软件测试3个月,原来15K也就这么回事...
- Unity之ASE从入门到精通 目录
- C语言fwrite函数
- 美式与英式英语音标的区别