android源码定制要点

七夜_雪 2011-08-09 11:25:01
加精
转载请注明出处:

LouisWang http://blog.csdn.net/louiswangbing/article/details/6671658

所谓源码定制,就是对系统功能有什么不满意的地方,自己进行修改。

源码定制一般分为两种,一种是增加和删减,另一种是改写。很明显,后面的比前面的更有难度,却也更有意思。

前面一种不用说了,大家都知道,android具有清晰的框架结构,每个部分的脉络都很清楚,觉得哪一部分多余,直接删掉它,只要不是复用或公用的部分,尽管删掉他;你也可以仿造其他部分的框架结构和脉络,自己添加自己的功能,比如说,你想在android命令行界面中添加vi的功能,很容易,把vi部分的源码放在external目录下,仿照external目录下其他编译成bin文件的例子,写一个android.mk,大功告成。就这么简单。

第二种就稍微有点难度了,你需要对整个需要改写的流程比较清楚,有清晰的认识。比如说你看见android的软键盘谈出来占了那么大块地方很不爽,肿么办,搞清楚软键盘弹出的流程,直接截断它!当然,你要有十足的信心和对流程足够的了解,确保你截断的不是它的命根子。。。呵呵

另外,说一下源码定制的要点:

要定制源码的话,需要满足几个条件:

1、源码结构要十分清楚,就像一幅图画在脑海里面;最好是说出一个什么东西来,你马上就能知道它在哪里

2、对所要定制的部分原理要有一个抽象的认识,如果定制比较多的部分,要有详细的认识;比如一个流程,你要知道在哪里截断最好,不会对其他部分有影响

3、linux真的是很重要的东西



有了这些认识之后,你就可以开始漫长而有趣的android源码定制了,可以一边做一边学。

路漫漫其修远兮,吾将上下而求索。
...全文
3166 75 打赏 收藏 转发到动态 举报
写回复
用AI写文章
75 条回复
切换为时间正序
请发表友善的回复…
发表回复
RichardHuang87 2012-11-16
  • 打赏
  • 举报
回复
我很菜能否有什么好例子?总结一下!
fangwei19881017 2012-11-01
  • 打赏
  • 举报
回复
学习下。!!!
zhongyuanceshi 2012-07-04
  • 打赏
  • 举报
回复
楼主要是能写些定制的文章,就更好了
huluyao23 2012-01-06
  • 打赏
  • 举报
回复
好厉害啊。。。。。。。。。。。。。。。。。。。。。。。。
七夜_雪 2011-08-22
  • 打赏
  • 举报
回复
[Quote=引用 69 楼 baimingyong007 的回复:]

请问下 。
设置 这块 怎么整 ?
怎么启动 网络选择啊 移动 联通 电信。这些网络。
还有安全设置 和 位置位置。
怎么用startActivity的 方法去启动他们?
谢谢。
[/Quote]
你可以直接看系统设置的源码啊。。。
慕白bmy 2011-08-22
  • 打赏
  • 举报
回复
请问下 。
设置 这块 怎么整 ?
怎么启动 网络选择啊 移动 联通 电信。这些网络。
还有安全设置 和 位置位置。
怎么用startActivity的 方法去启动他们?
谢谢。
七夜_雪 2011-08-17
  • 打赏
  • 举报
回复
精华贴要沉了,我顶
凌哥在奔跑 2011-08-15
  • 打赏
  • 举报
回复
good good study
alexleader 2011-08-14
  • 打赏
  • 举报
回复
学习了,感觉还有杭长的路要走,我还是个菜鸟
zhangxinre 2011-08-14
  • 打赏
  • 举报
回复
好东西永远不要错过!!
liyf_liyunfeng 2011-08-14
  • 打赏
  • 举报
回复
来学习,顶一下。
lijee 2011-08-14
  • 打赏
  • 举报
回复
谢谢分享
linlinqizhi 2011-08-13
  • 打赏
  • 举报
回复
学习了学习了
七夜_雪 2011-08-13
  • 打赏
  • 举报
回复
[Quote=引用 61 楼 hui22021616 的回复:]

引用 3 楼 louiswangbing 的回复:
引用 2 楼 yiyaaixuexi 的回复:

比如说,你想在android命令行界面中添加vi的功能,很容易,把vi部分的源码放在external目录下,仿照external目录下其他编译成bin文件的例子,写一个android.mk,大功告成。就这么简单。


你总是分享好东西

呵呵,我分享的东西总是能得到妞妞的支持,够……
[/Quote]
恩,这方法是不错,但也要要找用相应编译链编出来的bin文件。。。
不如用源码,自己选择编译链,多好啊。呵呵
hui22021616 2011-08-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 louiswangbing 的回复:]
引用 2 楼 yiyaaixuexi 的回复:

比如说,你想在android命令行界面中添加vi的功能,很容易,把vi部分的源码放在external目录下,仿照external目录下其他编译成bin文件的例子,写一个android.mk,大功告成。就这么简单。


你总是分享好东西

呵呵,我分享的东西总是能得到妞妞的支持,够了!!
[/Quote]
呵呵,还有种方法,直接去网上弄一个执行文件,写一个mk,直接把它拷到system/bin目录下,需要什么,就拷什么,不用去找源码了。比较懒的方法。现在工程里面两种方法混着用的
pilicat 2011-08-12
  • 打赏
  • 举报
回复
学习、受教了!
nevsaynevyt 2011-08-12
  • 打赏
  • 举报
回复
超级不错 学习了
b87936260 2011-08-12
  • 打赏
  • 举报
回复
威为什么源码我总看的头晕目眩!!一会就绕晕了
biosxjj 2011-08-12
  • 打赏
  • 举报
回复
那个linux、其实不是那么重要。。
llwlz 2011-08-12
  • 打赏
  • 举报
回复
路过,学习了
加载更多回复(52)
**Android项目:ListView保持在列表顶部固定View案例分析及源码** 本资源提供了一个详细的Android项目案例,主要研究如何在ListView中实现一个固定在顶部的View。此案例源码完整,逻辑清晰,可二次开发定制,满足您的个性化需求。 **功能概述**: 1. 当用户滚动ListView时,顶部的固定View保持不动,始终显示在列表的最上方。 2. 固定View可以自定义布局,包括图片、文字等元素,以适应不同场景的需求。 3. 列表数据动态更新时,固定View的位置和显示内容不受影响。 **技术要点**: 1. 使用ListView的`addHeaderView()`方法添加固定View作为列表的头部。 2. 通过自定义Adapter处理数据绑定,确保固定View与列表项正确显示。 3. 利用监听器捕获滚动事件,根据需要调整固定View的显示状态。 **源码结构**: - `MainActivity.java`:主Activity类,负责初始化ListView和Adapter。 - `CustomAdapter.java`:自定义Adapter类,用于处理数据绑定。 - `fixed_header_view.xml`:固定View的布局文件。 - `list_item.xml`:列表项的布局文件。 通过学习和研究本案例源码,您可以深入了解ListView的工作原理,掌握在Android应用中实现复杂列表界面的技巧。同时,源码的可定制性使得您可以根据项目需求进行二次开发,节省时间和精力。
万岳在线教育系统源码v1.1.4 源码描述: 一、万岳在线教育系统源码 搭建迅速,为您提供完善的线上教育解决方案 源码开源,可定制开发,多终端,多版本,多选择 二、产品介绍 万岳在线教育系统,是一款集直播授课、在线答疑、作业批改、互动白板等教学功能为一身的网络教学平台。源码开源,支持定制或二次开发,可全球搭建部署。 万岳网校系统源码,轻松实现小班课、大班课、双师教学、内容付费等众多教学场景,是学校和教培机构的不二选择。 三、应用场景 互动大班课 包含语音大班课和视频大班课两种模式,可容纳万人同时在线;语音大班课支持视频、音频、PPT,视频大班课以实时视频讲座的形式展现。 功能模块:直播授课、文字互动、课件展示、语音互动、教学白板、屏幕共享 精品小班课 支持老师和学员视频连麦,实现师生之间一对一、一对多视频互动教学。内置教学白板、随堂测验、抢答、举手上台等多种实用教学功能。 功能模块:直播授课、教学白板、屏幕共享、连麦互动、随堂测验、在线抢答 双师教学 主讲老师线上授课,辅导老师协助主讲老师答疑督学、维持课堂纪律、总结知识要点、发布重要提醒,构建高效有序的授课直播环境。 功能模块:直播授课、课件共享、连麦互动、教学白板、课堂练习、屏幕共享 内容付费 包含知识付费和课程付费两种模式,内容分为视频、图文和语音三种展现形式,学员通过免费、密码、付费三种方式获取相关课程。 功能模块:视频课程、图文课程、直播课程、语音课程、组合销售 四、功能展示 1、教学白板 含画笔、文本框、橡皮擦等工具,支持书写标记、PPT上传等操作。 2、互动连麦 小班课中,学员申请视频连麦,1名讲师最多能与16位学员同时连麦。 3、随堂测验 测验含三种题型,分为选择、判断和应用题,讲师能在开课前预设测验。 4、课堂练习 讲师发布课堂练习后,学员需在一定时间内完成答题,结束后练习自动提交。 5、举手上台 直播授课中,学员举手申请上台与讲师连麦,讲师同意后便能上台。 6、在线抢答 讲师随机发布题目,学员参与抢答,讲师选中的学员即可上麦沟通。 7、屏幕共享 精品小班课中,讲师可在直播间内共享自己的电脑桌面给学员。 8、课件下载 学员在上课时下载的课件,可到个人中心“我的课件”中进行查看。 9、懂没懂 讲师授课时可利用“懂没懂”功能来大体判断学员对知识的掌握。 10、录播回放 平台可将小班课直播实况全程录下,学员能凭此功能及时参与补课。 11、作业本 讲师能在上课端发布课堂作业,内容来源:上传试卷照片,或在题库中选择添加。 12、错题本 学员能将作业或课堂测试中的错题添加至个人中心错题本,支持题目拍照上传。 13、网课购买 根据需求,学员能将付费课程添加到购物车,若课程配有教材,需填写收货地址。 五、系统优势 1、高并发优化 提供高并发、大数据解决方案,支持数据库读写分离和集群化部署。 2、安全可靠 数据加密,内容云端存储,防盗防录屏,IP访问监控,全方位保护课程版权。 3、多终端支持 支持Web、Android、iOS、ipad等多个终端切换。 4、注重体验 高清视频直播授课,码率自适应,播放超低延迟,互动连麦流畅不失真。 六、产品参数 开发语言 Android端APP:Java ios端APP:Object-c 管理后台服务端:php 采用框架:ThinkPHP 服务器参数 数据库:Mysql 缓存服务器:Redis 聊天服务器:Socket 传输协议和媒体格式 推流 :RTMP 拉流 RTMP和HTTP 音频格式:ACC 视频格式:H.264 服务器配置 操作系统:linux CentOS 服务器,建议购买境内的服务器 三方服务 编解码:腾讯云直播SDK 存储:七牛云提供,每月免费10G的流量和10G的存储服务 服务器:推荐使用阿里云、腾讯云 分发:腾讯云CDN, 使用腾讯云的编解码SDK,绑定使用腾讯云的CDN分发业务 域名:阿里云、腾讯云(使用阿里云的服务器要再阿里云备案,腾讯云同理) 租赁中国境内范围内的服务器需要域名做备案,使用非境内的服务器-无需备案 物流:阿里云市场:快递查询接口 登录:QQ,微信,短信。QQ,微信去腾讯开放平台申请,短信去对应的短信接口平台申请接入 支付:Android 微信支付,支付宝支付,iOS applepay
万岳开源网校系统源码,可构建出集直播授课、在线答疑、作业批改、互动白板等教学功能为一身的网络教学平台。源码开源,可定制或二次开发。轻松实现小班课、大班课、双师教学、内容付费等众多教学场景。 应用场景: 1、互动大班课 包含语音大班课和视频大班课两种模式,可容纳万人同时在线;语音大班课支持视频、音频、PPT,视频大班课以实时视频讲座的形式展现。 功能模块:直播授课、文字互动、课件展示、语音互动、教学白板、屏幕共享 2、精品小班课 支持老师和学员视频连麦,实现师生之间一对一、一对多视频互动教学。内置教学白板、随堂测验、抢答、举手上台等多种实用教学功能。 功能模块:直播授课、教学白板、屏幕共享、连麦互动、随堂测验、在线抢答 3、双师教学 主讲老师线上授课,辅导老师协助主讲老师答疑督学、维持课堂纪律、总结知识要点、发布重要提醒,构建高效有序的授课直播环境。 功能模块:直播授课、课件共享、连麦互动、教学白板、课堂练习、屏幕共享 4、内容付费 包含知识付费和课程付费两种模式,内容分为视频、图文和语音三种展现形式,学员通过免费、密码、付费三种方式获取相关课程。 功能模块:视频课程、图文课程、直播课程、语音课程、组合销售 功能展示: 1、教学白板 含画笔、文本框、橡皮擦等工具,支持书写标记、PPT上传等操作。 2、互动连麦 小班课中,学员申请视频连麦,1名讲师最多能与16位学员同时连麦。 3、随堂测验 测验含三种题型,分为选择、判断和应用题,讲师能在开课前预设测验。 4、课堂练习 讲师发布课堂练习后,学员需在一定时间内完成答题,结束后练习自动提交。 5、举手上台 直播授课中,学员举手申请上台与讲师连麦,讲师同意后便能上台。 6、在线抢答 讲师随机发布题目,学员参与抢答,讲师选中的学员即可上麦沟通。 7、屏幕共享 精品小班课中,讲师可在直播间内共享自己的电脑桌面给学员。 8、课件下载 学员在上课时下载的课件,可到个人中心“我的课件”中进行查看。 9、懂没懂 讲师授课时可利用“懂没懂”功能来大体判断学员对知识的掌握。 10、录播回放 平台可将小班课直播实况全程录下,学员能凭此功能及时参与补课。 11、录播回放 平台可将小班课直播实况全程录下,学员能凭此功能及时参与补课。 12、学习阶段 学员能在前台自由选择学习阶段,不同的学习阶段显示不同的课程推荐。 13、学科分类 学科分类以图标形式展示,用学员点击后能看到此学科下的所有课程详情。 14、轮播广告 平台广告以轮播图形式展现,若内置链接,点击后将跳转至相关页面。 15、名师名课 主页展示讲师头像、名称、头衔,用户点击后显示讲师简历和主讲课程。 16、课程管理 精选套餐、好课推荐、精选内容、直播课堂,四大课程栏目,不同学习体验。 17、题库建设 上课端含有题库,题库题目支持手写录入,也支持文字表格按照既定格式导入。 18、作业本 讲师能在上课端发布课堂作业,内容来源:上传试卷照片,或在题库中选择添加。 19、错题本 学员能将作业或课堂测试中的错题添加至个人中心错题本,支持题目拍照上传。 20、网课购买 根据需求,学员能将付费课程添加到购物车,若课程配有教材,需填写收货地址。  源码参数: 开发语言 Android端APP:Java 管理后台服务端:php 采用框架:ThinkPHP 服务器参数: 数据库:Mysql 缓存服务器:Redis 聊天服务器:Socket 传输协议和媒体格式 推流 :RTMP 拉流 RTMP和HTTP 音频格式:ACC 视频格式:H.264 服务器配置 操作系统:linux CentOS 服务器,建议购买境内的服务器 源码安装步骤: 1、关闭防火墙并设置开机关闭------>systemctl stop firewalld && systemctl disable firewalld 2、确保服务器开放以下端口:21 22 80 888 8888 3306 6379 19967 39000-40000(ftp被动模式端口,不用可以不打开) 3、宝塔面板也需要开放以下端口:21 22 80 888 8888 3306 6379(下面有介绍) 19967 39000-40000(ftp被动模式端口,不用可以不打开) 1.宝塔面板安装命令 1.1、yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh 执行完成后给出默认的登录URL、用户名和密码 1.2、根据上面安装成功的地址登录宝塔面板后台,我们需要去设置网站环境。 1.3、登录成功后执行一键安装lnmp,具体版本如下:

80,353

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧