阅读APP源码,有哪位大神能给一个安卓电子书阅读器的源代码吗功能方面尽量完

1,有哪位大神能给一个安卓电子书阅读器的源代码吗功能方面尽量完源代码,好像一般人都不会愿意给的吧 , 听你说这个,应该是比较高端的代码了 。。。fbreader,去git上搜一下 。再看看别人怎么说的 。
2,如何阅读一个android apk的开源源码要阅读开源源代码,你首先要知道这个开源软件是干什么的,不要直接一头裁到代码里去,知道代码是干什么的再去看它,明显要比看代码再猜它是干什么的轻松的多 。然后开始看的时候注意找应用程序的主Activity,从OnCreate看起,多多留意类的成员变量及其作用 。lz 说的是创建apk吗一般运行后会自动生成apk文件不过发布的一般要加上代码混淆 再右键 android tools --export android applaction -需要创建签名 哦
3,如何阅读开源代码通过阅读开源代码,可以学习其中的框架和模式、代码技巧、算法等 。但是经常有些人拿到开源代码以后不知道如何下手,这里分享一下我的一些经验 。1.拿到代码以后编译运行它,了解它干什么的,实现了功能 。2.从入口点开始阅读,按照流程,了解这个软件是怎么运行起来的 。3.从整体上观察这个软件是有哪些模块组成的,最好能画一画图 。4.修改软件的功能 , 并且能够调试它 。不能仅仅停留在阅读代码上,一定要改代码 , 这样才能增加对开源代码的理解 。5.做笔记,把这个开源代码实现的功能,实现方式、设计框架、模块组织、以及代码技巧等记录下来 。以上 , 这些仅仅是我个人的经验,希望可以帮组到您 。开源代码都有自身的发布许可证(license),license 中会规定使用者权力和义务 。有些license 中的规定可能给使用者带来知识产品方面的风险 , 比如gpl license,就要求使用者基于该代码衍生出的新的软件代码页必须要用gpl 发布,也就是一定要开源 , 如果用户的软件没有开源,或者没有按照gpl license 来发布,就会有法律风险 。另外,有些开源代码本身也存在漏洞 , 也会给使用者带来风险 。这些都是使用开源代码时须有注意的,当然,有一款叫black duck software 的软件能够很好的帮助使用者解决这些问题 。【阅读APP源码,有哪位大神能给一个安卓电子书阅读器的源代码吗功能方面尽量完】
4,大牛们是怎么阅读 Android 系统源码的如果想深入的了解Android系统, 那么可以看下我的一些简单的总结.JavaJava是AOSP的主要语言之一. 没得说, 必需熟练掌握.熟练的Android App开发LinuxAndroid基于Linux的, 并且AOSP的推荐编译环境是Ubuntu 12.04. 所以熟练的使用并了解Linux这个系统是必不可少的. 如果你想了解偏底层的代码, 那么必需了解基本的Linux环境下的程序开发. 如果再深入到驱动层, 那么Kernel相关的知识也要具备.MakeAOSP使用Make系统进行编译. 了解基本的Makefile编写会让你更清晰了解AOSP这个庞大的项目是如何构建起来的.GitAOSP使用git+repo进行源码管理. 这应该是程序员必备技能吧.C++Android系统的一些性能敏感模块及第三方库是用C++实现的, 比如: Input系统, Chromium项目(WebView的底层实现).由于工作需要大量修改framework代码, 在aosp(android open source project)源码上花费了不少功夫, application端和services端都看和改了不少.如果只是想看看一些常用类的实现, 在android包管理器里把源码下载下来, 随便一个ide配好source code的path看就行.但如果想深入的了解android系统, 那么可以看下我的一些简单的总结.知识javajava是aosp的主要语言之一. 没得说, 必需熟练掌握.熟练的android app开发linuxandroid基于linux的, 并且aosp的推荐编译环境是ubuntu 12.04. 所以熟练的使用并了解linux这个系统是必不可少的. 如果你想了解偏底层的代码, 那么必需了解基本的linux环境下的程序开发. 如果再深入到驱动层, 那么kernel相关的知识也要具备.makeaosp使用make系统进行编译. 了解基本的makefile编写会让你更清晰了解aosp这个庞大的项目是如何构建起来的.gitaosp使用git+repo进行源码管理. 这应该是程序员必备技能吧.c++android系统的一些性能敏感模块及第三方库是用c++实现的, 比如: input系统, chromium项目(webview的底层实现).硬件流畅的国际网络aosp代码下载需要你拥有一个流畅的国际网络. 如果在下载代码这一步就失去耐心的话, 那你肯定没有耐心去看那乱糟糟的aosp代码. 另外, 好程序员应该都会需要一个流畅的google.一台运行ubuntu 12.04的pc.如果只是阅读源码而不做太多修改的话, 其实不需要太高的配置.一台nexus设备aosp项目默认只支持nexus系列设备. 没有也没关系, 你依然可以读代码. 但如果你想在大牛之路走的更远, 还是改改代码, 然后刷机调试看看吧.高品质usb线要刷机时线坏了, 没有更窝心的事儿了.软件ubuntu 12.04官方推荐, 没得选.oracle java 1.6注意不要用openjdk. 这是个坑, 官方文档虽然有写, 但还是单独提一下.安装:sudo apt-get install python-software-propertiessudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java6-installersudo apt-get install oracle-java6-set-defaulteclipse估计会有不少人吐槽, 为什么要用这个老古董. 其实原因很简单, 合适. 刚开始搞aosp时, 为了找到效率最优的工具, 我尝试过eclipse, intellij idea, vim+ctags, sublime text+ctags. 最终结果还是eclipse. 主要优点有:有语法分析 (快速准确的类, 方法跳转).支持c++ (intellij的c++支持做的太慢了).嵌入了ddms, view hierarchy等调试工具.为了提高效率, 花5分钟背下常用快捷键非常非常值得.调整好你的classpath, 不要导入无用的代码. 因为aosp项目代码实在是太多了. 当你还不需要看c++代码时, 不要为项目添加c++支持, 建索引过程会让你崩溃.intellij idea开发app必备. 当你要调试系统的某个功能是, 常常需要迅速写出一个调试用app, 这个时候老旧的eclipse就不好用了. itellij idea的xml自动补全非常给力.巨人的肩膀这个一定要先读. 项目介绍, 代码下载, 环境搭建, 刷机方法, eclipse配置都在这里. 这是一切的基础.这个其实是给app开发者看的. 但是里面也有不少关于系统机制的介绍, 值得细读.此老罗非彼老罗. 罗升阳老师的博客非常有营养, 基本可以作为指引你开始阅读aosp源码的教程. 你可以按照博客的时间顺序一篇篇挑需要的看.但这个系列的博客有些问题:早期的博客是基于旧版本的android;大量的代码流程追踪. 读文章时你一定要清楚你在看的东西在整个系统处于什么样的位置.邓凡平老师也是为android大牛, 博客同样很有营养. 但是不像罗升阳老师的那么系统. 更多的是一些技术点的深入探讨.android官方issue列表. 我在开发过程中发现过一些奇怪的bug, 最后发现这里基本都有记录. 当然你可以提一些新的, 有没有人改就是另外一回事了.一定要能流畅的使用这个工具. 大量的相关知识是没有人系统的总结的, 你需要自己搞定.其它代码组织aosp的编译单元不是和git项目一一对应的, 而是和android.mk文件一一对应的. 善用mmm命令进行模块编译将节省你大量的时间.binder这是android最基础的进程间通讯. 在application和system services之间大量使用. 你不仅要知道aidl如何使用, 也要知道如何手写binder接口. 这对你理解android的application和system services如何交互有非常重要的作用. binder如何实现的倒不必着急看.hal除非你对硬件特别感兴趣或者想去方案公司上班, 否则别花太多时间在这一层.cyanogenmod这是一个基于aosp的第三方rom. 从这个项目的wiki里你能学到很多aosp官方没有告诉你的东西. 比如如何支持nexus以外的设备.dia这是一个linux下画uml的工具, 能够帮你梳理看过的代码.xda这里有最新资讯和最有趣的论坛.想到了再补充.

    推荐阅读