本文的主要内容


  • 概述
  • 精简版FBReader下载地址
  • 集成教程
  • 问题及解决方法
  • 参考文档

概述


之前集成FBReader参考的是这篇文章:

  • 如何把FBReader集成到自己的项目中 - 简书
    http://www.jianshu.com/p/febc1f032ff2

但是集成完成后出现了一些问题,比如内存泄露严重、加上项目中使用的开源框架也蛮多的,集成后又出现了著名的65K方法数限制问题,解决了很久很头疼没解决,还有其它一些问题……不知道大家有没有遇到这些问题,可能是我操作的问题吧。

言归正传,本文将提供一个精简版的FBreader集成版本,集成过程只需要4步,集成后也没有遇到上面的问题;其中集成中遇到的问题,我会在下面一一给出解决方法。

精简版FBReader下载地址


PS:该版本是我在FBReader交流群(321171877)里发现的,感谢大神。
http://pan.baidu.com/s/1hsL2Lhy

集成教程


PS:建议大家不要再AS里复制,巨卡;集成前要做好备份工作。

言归正传,我们先看下目录结构,要复制的文件都在这里,其中jni文件夹可以不用复制。

1.将除jni和AndroidManifest.xml的其他文件夹直接复制到相应文件夹下。

2.复制的时候会提示是否替换下面的文件,选否,然后把里面的代码复制到对应的xml中即可。

3.打开AndroidManifest.xml,将application标签内的所有代码和下图中的权限代码复制到你的AndroidManifest.xml中。

4.自定义的Application一定要继承FBReader项目中的FBReaderApplication类。

至此,集成已经完成。

问题及解决方法


1.找不到org.geometerplus.zlibrary.ui.android.R
解决方法:替换为自己的R文件即可,大家可使用Ctrl+Shift+R一键替换

2.程序包org.apache.http不存在
出现该问题的原因是在新版本的SDK中Google删除了这个类,解决方法:
打开app的build.gradle中 ,在buildToolsVersion下边,添加如下代码,即可解决。

useLibrary 'org.apache.http.legacy'

3.Error:(303, 27) 错误: 找不到符号 符号: 方法 sin(float) 位置: 类 FloatMath
原因同上,解决方法:
将FloatMath替换为Math即可,要注意的地方是,有的地方需要强转为Float类型。

4.Error:(31, 29) 错误: 找不到符号 符号: 方法 setLatestEventInfo(MainActivity,String,String,<空值>) 位置
原因同上,我直接贴下修改代码吧,直接替换方法即可。

    private Notification createDownloadFinishNotification(File file, String title, boolean success) {final ZLResource resource = getResource();final String tickerText = success ?resource.getResource("downloadCompleteTicker").getValue() :resource.getResource("downloadFailedTicker").getValue();final String contentText = success ?resource.getResource("downloadComplete").getValue() :resource.getResource("downloadFailed").getValue();NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//获取系统服务final Intent intent = success ? getFBReaderIntent(file) : new Intent();final PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);final Notification notification = new Notification.Builder(this).setTicker(tickerText)//在状态栏显示的标题.setContentText(contentText).setSmallIcon(android.R.drawable.stat_sys_download_done)//设置状态栏显示时的图标.setContentIntent(contentIntent).build();//创建Notificationnotification.flags |= Notification.FLAG_AUTO_CANCEL;notificationManager.notify(1, notification);//管理器通知return notification;}

5.启动后出现两个app
解决方法:打开清单文件把这里的intent-filter删除即可。

参考文档


如何把FBReader集成到自己的项目中 - 简书
http://www.jianshu.com/p/febc1f032ff2

程序包org.apache.http不存在,解决方式 - 丶鹏 - CSDN博客
http://blog.csdn.net/qq_23089525/article/details/52038529

AS 报错 Error:(303, 27) 错误: 找不到符号 符号: 方法 sin(float) 位置: 类 FloatMath - rongwenbin的专栏 - CSDN博客
http://blog.csdn.net/rongwenbin/article/details/51240884

Error:(31, 29) 错误: 找不到符号 符号: 方法
setLatestEventInfo(MainActivity,String,String,<空值>) - linsuren的博客 - CSDN博客
http://blog.csdn.net/linsuren/article/details/52440792?locationNum=1

Android集成FBReader(精简版)指南相关推荐

  1. Android基础知识精简版(转)

    原文  http://blog.csdn.net/heimady/article/details/10363995 1. 前言 裁剪了下转载内容,只保留我认为有用的知识点. 2. 搭建开发环境 htt ...

  2. android系统精简,高通支持Android 8.1精简版,专为512MB或1GB内存设计

    往的搭载骁龙处理器的老旧手机终于有救啦!高通宣布将支持Android Go系统,也就是Android 8.1的精简版,专门为512MB或1GB内存的手机设计的,未来老手机也可以流畅运行. 对于谷歌而言 ...

  3. unity android 在后台运行_Android 11“精简版”正式发布,低端机也可以流畅运行

    虽然Android依然是全世界使用最多的手机操作系统,但与iOS相比,由于Android的自身特性在长时间使用后会产生很多垃圾文件,久而久之手机就会变得越来越卡顿,对于一款旗舰机而言,这种卡顿可能会来 ...

  4. 友盟分享集成教程(精简版)

    之前项目中集成过多次友盟的分享,当时做完后没有写博客记录,然后现在公司的项目市场是国外主要,用到的都是Facebook分享和Android原生的系统分享,所以也用不到国内社交平台的分享集成,但是今天个 ...

  5. Vue精简版风格指南

    前面的话 Vue官网的风格指南按照优先级(依次为必要.强烈推荐.推荐.谨慎使用)分类,且代码间隔较大,不易查询.本文按照类型分类,并对部分示例或解释进行缩减,是Vue风格指南的精简版 组件名称 [组件 ...

  6. 小米3 android8,小米8 Miui10.3 最新稳定版(10.3.6.0 Android 9.0)稳定版 快过闪电 AI加持 高级工具箱 黑域 精简 流畅 省电 实用...

    ★★★刷机前温馨提示: 1.如果小米8第一次手动刷第三方系统,如果无法开机应该在恢复模式格式化内置SD卡(即:格式DATA分区),不然可能刷机后无法开机.恢复模式推荐这个:https://pan.ba ...

  7. [Android] 彩云小译V2.4.1高级精简版VIP 不用花钱免费使用 中日英同声传译

    软件名称:彩云小译 软件版本:v2.4.1_高级精简版VIP 软件语言:中文 软件大小:26M 软件包名:com.caiyuninterpreter.activity 支持系统:Android 2.2 ...

  8. 合宙ESP32-C3精简版完全食用指南

    ESP32-C3 精简版食用指南 Luatos ESP32 + LCD拓展板 ESP32-C3 硬件资源 实拍图与引脚 3. 开发指南 使用注意事项 LCD拓展板 LCD KEY Luatos ESP ...

  9. snailsvn使用教程_SnailSVN 精简版:与访达集成的 SVN 客户端

    SnailSVN 精简版:与访达集成的 SVN 客户端 ⌘当前价格: 0 ⌘支持系统: OS X 10.10 ⌘开发者: ⌘服务支持: 官方页面 安全下载 累计下载次数: 412 SnailSVN 是 ...

  10. 子弹短信 android,子弹短信精简版

    游戏简介 子弹短信app精简版是一款拒绝低效率社交沟通交流的手机应用,语音与文字完美结合高效聊天效率,无需进入聊天页面即可快速回复消息极速交互,赶快下载子弹短信app精简版体验高速列车般的高效聊天效率 ...

最新文章

  1. Oracle数据库之单行函数
  2. Sublime Text3激活
  3. 记一次ubuntu阿里的下载源的问题
  4. asp.net广告控件的使用
  5. Codrops 教程:基于 CSS3 的精美模态窗口效果
  6. java 单例 读写锁_你用对锁了吗?浅谈 Java “锁” 事
  7. 力扣35-搜索插入位置(C++,左右闭区间,nums[mid]与target大小关系判断的不同及辨析)
  8. maven学习(4)
  9. educoder MongoDB 文档的高级查询操作
  10. SPSS统计术语与思维【SPSS 002期】
  11. html网页自动提示框代码,多种网页弹出窗口代码
  12. 电脑如何连接无线打印服务器,电脑怎么联接无线路由器打印机
  13. CentOS7系统安装参考
  14. python中的颜色_Python学习第234课——html中的颜色值
  15. 在函数中引用外部数组元素
  16. 基于WeLink开发的智慧云OA系统获奖啦!
  17. 大文件如何传输,大文件的传输方式有哪些?
  18. 每天五分钟机器学习:随着算法迭代次数动态调整学习率
  19. 计算机如何查看网络延时,电脑上怎么看网络丢包?网络延时查看方法
  20. 锐捷校园网自动登录脚本

热门文章

  1. 当我跨过沉沦的一切,向着永恒开战的时候,你是我的军旗。——王小波
  2. 城市记忆(3)灵州----灵武
  3. Redis集群:主从节点添加和删除
  4. s数据结构替换子表java版,数据结构(Java版)-习题解答与实验指导
  5. FPN(Feature Pyramid Networks)学习笔记
  6. php api地址解析,百度地图API-根据地址解析坐标,根据坐标解析地址
  7. 新型电话诈骗手法“明天到我办公室来一下”全揭秘
  8. 设置hyper-v虚拟机的enhanced session mode
  9. Lightroom 2020年2月版新增功能
  10. portraiture2022插件安装使用教程