一般通过

上面红框截图工具下载下来的SDK里面的内容都是应该向下边截图一样的:

下面说一下主要的几个文件夹是干嘛的,方便以后整理。由于之前看到自己的SDK包下有40多G内容太吓人了。
build-tools文件夹
此文件夹就是用于编译android项目用到的。意思是该android项目用什么版本的android编译;

在AS打开项目里面的gradle配置文件里面的builToolsVersion就是对应这里的。

所以一般我自己的该文件夹都有好几个android版本可以进行编译,主要是方便为之前的项目和网上下载下来的项目好编译;如果在网上下载下来的项目里面的gradle配置文件自己的SDK没有改builToolsVersion版本会编译不成功的,解决方法一个就是下载项目要求的,第二个就是修改buildToolsVersion的版本号,这样一改,一般下面的v4和v7兼容包也要更改。即下面截图部分:

docs文件夹
其实该文件夹就是androidSDK文档,整个Android官网的页面信息都在这里,如果你在断网的情况下可以用浏览器打开index.html
这样就可以浏览到Android的官网,官方的API


extras文件夹
这个文件夹主要用于存放v4和v7包,还有一些是USB的驱动文件(是放在这个文件夹下的另外个文件夹里面)
platforms文件夹
这里就是存放不同版本的SDK,在AS打开项目里面的gradle配置文件里面的targetSdkVersion就是对应这里的。

一般同build-tools文件夹一样都会存放好几个版本

platform-tools文件夹
它主要是存放Android平台的相关工具。如:adb.exe、sqlite3.exe
samples文件夹
该文件是存放android官网写一些Demo,学习Android,其实这里就有很好的案例可以借鉴

sources文件夹
这个文件夹其实就是存放android的源码,一般我们在AS打开都会看到源码,是因为AS自带反编译功能把.class文件都反编译过来了,但是你把源码下下来,即这个文件夹有相关版本的源码,AS是可以找到对应的.java文件而且这些文件都有大量的注释。这里其实也是学习android源码的好地方。

system-images文件夹
该文件夹就是存放虚拟机文件的,所占的空间最大。一个版本的虚拟机就可以有10几G。所以如果需要瘦身SDK文件夹可以从此入手。

tools文件夹
这里存放一些Android开发用到的工具。如生成.9图片;调试工具;DDMS等
add-ons文件夹
这个文件夹可能不是所有人都有,因为是下载了一些第三方框架才会出现此文件夹。如butterknife,okhttp等
SDKmanager
最后看看SDKmanager其实需要下载些什么就足够了。



其实就下红色框下的就可以进行开发了,(版本视需要下载);其余是看自己需要是否下载如源码,扩展包第三方框架;
其实在我第一个截图还有几个文件夹是没有说明的,在这里我还没有搞懂是怎么出来的,但是肯定的是不影响你开发的,可能是当初编译项目时产生出来的。算是我自己的知识盲区吧。
这里记录一下编译项目的逻辑关系
这里有篇文章关于这些问题:
Android Studio中gradle版本对应关系
Android studio 编译需要保证:SDK Build Tools 版本,Gradle 版本,Gradle Plugin 版本 兼容。
有个逻辑关系:
要重点关注Gradle版本的版本 ,因为版本决定了 SDK Build Tools 版本与 Gradle Plugin 版本。
compileSdkVersion,决定了app所能使用的api的上限,如果编译SDK为api16的,则app不能api16之后新增的api,只能使用api16及之前的api。
minSdkVersion,决定了app所能使用的api的下限。
targetSdkVersion,如果targetSdkVersion是10但是手机系统的是11,那么系统在某些方面会做向前兼容,而不会使用最新的特性(比如大屏特性,api11才有的)。
网友评论