android包源碼下載-九游会j9娱乐平台
⑴ gradle獲取源碼sourcesets
在寫gradle插件時可能會使用到源碼文件,如作源碼文件的版本對比,源旅余碼分析等,但源碼如何來獲取呢?一般gradle項目的源碼默認都是在固定的位置,如project/app/src/main/java 。但源碼的位置並非一定要在此,這只是一個 默認位置 ,在gradle的配置文件build.gradle里是可以配置源碼的位置的,下面可以看下在android和java項目中是如何配置的。
android源碼配置是在android下面的sourcesets參數里進行配置。
java項目sourcesets與android項目的不同,它在最外層直接配置。
我們知道在gradle的配置文件中,每個名稱都是一個extension,每個extension可以配置指定的參數列表。如android{},是由appplugin通過project.getextensions().create("android",appextension)來創建的,而appextension類的成員變數定義了gradle參數,如defaultconfig,proctflavors,buildtypes,signingconfigs等老培。然而事實並非如何,gradle里還有一種配置自定義參數的方式,即convention。convention方式侍鎮唯中每個成員變數對應的是一個extension。其中java項目中的sourcesets即是使用如何方式進行配置的。
下面看一下如何獲取獲取項目的源碼。既然源碼是通過自定義參數配置的,那麼獲取的時候通過拿到自定義的參數對象,獲取其sourcesets欄位即可。
android使用的是baseexension對象配置的參數,所有通過plugin獲取到extension對象,取其中的sourcesets欄位。
java項目是通過convention配置的,所以需要找到convention對象,即javapluginconvention。通過此對象來獲取java項目的源碼文件
注意java項目創建了jar任務用來打包,而jar也有一個getsource方法,此方法獲取的並不是源碼文件,而是編譯過的class文件。
⑵ android系統是開源去哪裡下載源代碼
他這不是編程原代碼對外公開,而是系統外部介面對外公開,簡單說,開源就好比是,英特爾生產一個cpu 然後告訴你所有的腳都是干嗎用的,這個告訴你干嗎用的就等於是安桌的開源了, 你知道cpu那些腳干嗎用的後,然後再根據這些腳的功能生產主板,針對這些腳所生產出來的主板就好比那些為因安桌開源後,別人針對安桌所編寫出來的軟體了,