※ 引述《ntuleo (里欧)》之铭言:
:
: 再看android程式码的时候都会有一部分是没有办法查到的
: (像图上红色的部分)
: 请问这个是因为google不开放给开发者看的意思吗?
: 有什么办法可以看到全部的程式码呢?
而是红字的原因很简单:他不存在,那编译怎么会过呢?
别忘了我们 SDK 的 java 核心部分就只是把 android.jar
(platforms/android-XX/下面)加入 build path 罢了
而android.jar 里面装的,是class
而就像 shared library,今天 A.java 只要求他的某个 dependency B.java
在编译时让他看到就好 两个编完时到执行前 分开也不会怎么样
Android SDK 生成的方式 是靠一个叫 droiddoc 的工具
在 AOSP 编译过程中 把标示 @hide 的 API 给拿掉 最后就生成 SDK
然后你在编译 App 时就可以只 reference 到想要 class 而不需要把整个 AOSP 拿过来
当然 Android 系统中有保有完整的那个版本 就在 /system/framework/framework.jar
但是那个 jar 里都装 dex 档啦 不用想把他抓来用