android sdk 编译--如何将源代码加入android.jar,以及make原理 2

另外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)可以在除规则

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

时间: 2025-01-18 20:26:49

android sdk 编译--如何将源代码加入android.jar,以及make原理 2的相关文章

android sdk 编译--如何将源代码加入android.jar,以及make原理 1

首先是这个问题如何修改.  在/frameworks/base/Android.mk中,找到如下行: packages_to_document := 在该变量的赋值语句最后添加 xxxxx (这里是你的包的名称,比如com/sina/ui,其实这里就是你的源代码 在/frameworks/base/<你的模块>/java/下面的一部分路径,只要能够唯一的匹配到你的 代码即可) 即可. 该添加的含义是使MAKE系统在制作OFF-LINE DOCUMENT时包含我们的package. 以此类推,添

Android SDK Manager和AVD Manager使用

原文:Android SDK Manager和AVD Manager使用 Android SDK Manager和AVD Manager使用(win7_64bit下测试) 目录 1.概述 2.本文用到的工具 3.安卓开发基础工具包下载 4.Android SDK Manager使用 5.AVD Manager使用 6.注意事项 7.相关博文(AndroidStudio.IDEA.Eclipse安卓环境配置) >>看不清的图片可在新标签打开查看大图 1.概述 顾名思义,Android SDK M

《手机测试Robotium实战教程》—第2章2.3节Android SDK的安装及环境变量配置

2.3 Android SDK的安装及环境变量配置 进行Android开发或者自动化测试,Android SDK是必不可少的. 如果没有特别的要求,可以选择下载混合的下载包,里面包含Eclipse.ADT和Android SDK.本书是单独下载SDK安装程序.双击运行安装程序,安装完毕后,在安装目录下运行"SDK Manager.exe",在弹出的窗口中选中Tools文件夹,下载最新版本的Android SDK Tools.Android SDK Platform-tools和Andr

Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发环境_Android

一直使用Eclipse环境开发Android,也尝鲜使用过Android Studio去开发,各种IDE配合Android SDK及SDK原生的Android Emulator的个中滋味也许大家都有领略,Eclipse的超长启动时间似乎是在与Android Emulator这个超级大腕比看谁更姗姗来迟,Android Studio的大版本号从推出来到两年后的今天仍然一直游走在1之下,不的不说襁褓婴儿不知道什么时候能长大,不得不说大哥我真不敢用你. 本文则介绍Lorinnn在开发Android过程

Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发

原文:Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发 Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发http://www.jb51.net/article/52609.htm 本文介绍Lorinnn在开发Android过程不断跌打滚爬中安装的一套开发环境,相信你在使用后同样有不错的体会.   一直使用Eclipse环境开发Android,也尝

Android SDK工具(谷歌提供的16个工具)简介

    Android SDK包含了许多可以帮助你开发Android平台应用的工具.这些工具分为两类:一是SDK工具:而是平台工具.SDK工具独立于平台,任何开发Android应用的平台都需要配置.平台工具是定制的适应最新的Android平台特性.     SDK工具     SDK工具在你配置完SDK开发环境就安装在相关目录下,而且经常性的更新.对于开发Android应用来说,这些工具是必须的.最重要的工具包括Android SDK Manager(android sdk),AVD Manag

Eclipse Android SDK无法下载问题不翻墙解决办法

问题描述 1.修改C:WindowsSystem32driversetc下的hosts,以文本文档形式打开,在文档最后添加一句74.125.237.1 dl-ssl.google.com,然后重新启动Eclipse的Android SDK Manager即可. 如果还是不行2.启动 Android SDK Manager ,打开主界面,依次选择Tools.Options...,弹出Android SDK Manager - Settings窗口,在 Android SDK Manager - S

体验极速Android SDK的更新与下载

原文:体验极速Android SDK的更新与下载 首先:国内明确一点,国内由于天朝限制了google,更新和下载Android相关资料都比较吃力,因此,本文正式宣告,此问题不再是问题-------别说话,吻我 先给点福利: 关于java(Android)相关资料比较全资料站点: 1.http://tools.android-studio.org/index.php 2.http://www.androiddevtools.cn/   开始更新我们的Android sdk了 使用方法: 启动 An

《Android传感器开发与智能设备案例实战》——第2章,第2.3节安装Eclipse和Android SDK

2.3 安装Eclipse和Android SDK 在安装好JDK后,接下来需要安装Eclipse和Android SDK.Eclipse是进行Android应用开发的一个集成工具,而Android SDK是开发Android应用程序所必须具备的框架.在Android官方公布的最新版本中,已经将Eclipse和Android SDK这两个工具进行了集成,一次下载即可同时获得这两个工具. 2.3.1 获取并安装Eclipse和Android SDK 获取并安装Eclipse和Android SDK