转载请注明出处:LouisWang  http://blog.csdn.net/louiswangbing/article/details/6671658所谓源码定制,就是对系统功能有什么不满意的地方,自己进行修改。源码定制一般分为两种,一种是增加和删减,另一种是改写。很明显,后面的比前面的更有难度,却也更有意思。前面一种不用说了,大家都知道,android具有清晰的框架结构,每个部分的脉络都很清楚,觉得哪一部分多余,直接删掉它,只要不是复用或公用的部分,尽管删掉他;你也可以仿造其他部分的框架结构和脉络,自己添加自己的功能,比如说,你想在android命令行界面中添加vi的功能,很容易,把vi部分的源码放在external目录下,仿照external目录下其他编译成bin文件的例子,写一个android.mk,大功告成。就这么简单。第二种就稍微有点难度了,你需要对整个需要改写的流程比较清楚,有清晰的认识。比如说你看见android的软键盘谈出来占了那么大块地方很不爽,肿么办,搞清楚软键盘弹出的流程,直接截断它!当然,你要有十足的信心和对流程足够的了解,确保你截断的不是它的命根子呵呵另外,说一下源码定制的要点:要定制源码的话,需要满足几个条件:1、源码结构要十分清楚,就像一幅图画在脑海里面;最好是说出一个什么东西来,你马上就能知道它在哪里2、对所要定制的部分原理要有一个抽象的认识,如果定制比较多的部分,要有详细的认识;比如一个流程,你要知道在哪里截断最好,不会对其他部分有影响3、linux真的是很重要的东西有了这些认识之后,你就可以开始漫长而有趣的android源码定制了,可以一边做一边学。路漫漫其修远兮,吾将上下而求索。

解决方案 »

  1.   

    android交流群:167630324 有兴趣的同学可以加一下
    开开玩笑,说说技术,分享分享,快快乐乐,哈哈
      

  2.   

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

  3.   

    还要有linux基础,回去看linux去
      

  4.   

    linux 还得学啊 ,android 还得学!!!学无止境啊。 
      

  5.   

    请教楼主,要在状态栏增加tabhost怎么加?我写了一个tabhost然后在statusbarservice.java里调用,tabhost不显示,改frameworks层的源码我还不了解,请求解答!谢谢!
      

  6.   

    你可以参考以太网在状态栏中的状态添加方法。
    给你推个博文:http://blog.csdn.net/louiswangbing/article/details/6665262
      

  7.   

    请教楼主,要在状态栏增加tabhost怎么加?请求解答!谢谢,进口高空作业平台http://www.upaccess.com/haulotte.html
      

  8.   

    好~~ 太好了~ 现在android很火啊~~
      

  9.   

    楼主真是强大。android手机里用vi。
      

  10.   

    那个linux、其实不是那么重要。。
      

  11.   

    呵呵,还有种方法,直接去网上弄一个执行文件,写一个mk,直接把它拷到system/bin目录下,需要什么,就拷什么,不用去找源码了。比较懒的方法。现在工程里面两种方法混着用的
      

  12.   

    恩,这方法是不错,但也要要找用相应编译链编出来的bin文件
    不如用源码,自己选择编译链,多好啊。呵呵
      

  13.   

    请问下 。
    设置 这块 怎么整 ?
    怎么启动 网络选择啊 移动 联通 电信。这些网络。
    还有安全设置 和 位置位置。
    怎么用startActivity的 方法去启动他们?
    谢谢。