另外javadoc还可以指定定制的doclet(doclet是基于javadoc特定的API开发的小程序,


该程序负责实际的文档输出).android的编译系统就包含了这样一个doclet叫DroidDoc。


可以在/build/tools/DroidDoc目录下找到该工具的全部源代码。


正是该工具在生成HTML的同时


在/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates下


面copy(或者说重新生成了)所有将生成到android.jar中的所有源代码(.java文件).
该工具把所有生成document的源文件重新按Package组织生成在以上目录下。
然后进行编译和打包成android.jar。
根据以上分析,其实android.jar文件是各个公布出来的 API 的源文件经过javadoc重新


组织以后再次编译产生的。 故,android.jar的内容实际上受到javadoc的notation控制


和makefile的控制。 对于android中已存在的代码比如wifi native,可以通过修改源代


码中javadoc的notation的方法重新build得到新的包含wifi native接口的android.jar


(将源文件中的@hide这个notation换成别的,然后make update-api;make sdk)。而对


于新加入的代码,则需要如上方法来修改makefile了。


下面总结一下调查过程中涉及到的知识:
1) javadoc和doclet,简单的看了一下工具的使用和参数,另外看了一下DriodDoc这个


doclet的源代码,找出哪里生成的.java源文件。
2.makefile分析,android的make showcommands命令可以和任何其他目标一起使用来察


看make过程中实际做了一些什么事情。(这点还需要调查这个showcommands如何实现的


,因为make -d这个命令给出的信息对于找到问题帮助不大)
3.在跟踪makefile build过程时,使用$(warning xxxxx)和$(error xxxx)可以在除规则


以外的地方打印出变量的值通过这个方法找出了实际建立要编译的文件列表的地方。

更多相关文章

  1. Android(安卓)Studio 配置一键生成 JNI 头文件工具
  2. mac安装monkey工具
  3. android发网络请求工具类
  4. Android(安卓)adt 初步理解和分析(二)
  5. Android(安卓)应用程序开发环境搭建说明
  6. Viewpager显示前后两页部分界面(含5种demo)
  7. Android稳定性测试工具Monkey的使用
  8. Android开发实用技巧之三:定制自己的日志工具LogUtil.java
  9. 在Ubuntu上下载、编译和安装Android源代码

随机推荐

  1. 如何在单个列上执行和操作?
  2. mysql在一个表上进行多个分组
  3. 如何在Ruby on Rails中创建tinyint(2)或tin
  4. 一些值得收藏的MySQL知识链接
  5. mysql编译安装后各种常见错误集锦
  6. 基础概念---mysql 列转行,合并字段
  7. 按平均值优化sql结果集
  8. MySQL数据库离线包安装与注册
  9. 如何使用基于条件的PHP来改变CSS属性?
  10. 如何从mysql表中删除具有相同列值的行?