android是开源的,但是android又不是google一家 Scratch出来的, android系统里很多软件都来自不同的项目, 比如内核,Java虚拟机等等等等。。 即使你把源码都下下来了,也没什么作用的。 知道LFS吗?当你 装过几次LFS后就明白怎么回事了。
>
在写gradle插件时可能会使用到源码文件,如作源码文件的版本对比,源码分析等,但源码如何来获取呢?一般gradle项目的源码默认都是在固定的位置,如project/app/src/main/java 。但源码的位置并非一定要在此,这只是一个 默认位置 ,在Gradle的配置文件buildgradle里是可以配置源码的位置的,下面可以看下在Android和Java项目中是如何配置的。
Android源码配置是在android下面的sourceSets参数里进行配置。
Java项目sourceSets与Android项目的不同,它在最外层直接配置。
我们知道在gradle的配置文件中,每个名称都是一个Extension,每个Extension可以配置指定的参数列表。如android{},是由AppPlugin通过projectgetExtensions()create("android",AppExtension)来创建的,而AppExtension类的成员变量定义了gradle参数,如defaultConfig,productFlavors,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系统是开源去哪里下载源代码全部的内容,包括:android系统是开源去哪里下载源代码、Android自带的APP源代码在哪里下载、Gradle获取源码sourceSets等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)