第一章

来源:互联网 发布:刮骨疗伤是真的吗 知乎 编辑:程序博客网 时间:2024/05/22 03:40
Android Studio使用Gradle来构建项目


Android程序的项目结构:
1、gradle和idea:这两个目录下放置的都是Android Studio自动生成的一些文件,不需要手动编辑
2、app:项目中的代码,资源等内容几乎都是放置在这个目录下的,后面的开发工作也基本都是在该目录下进行
3、build:包含一些编译时自动生成的文件
4、这个目录下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,Android默认没有启动gradle的方式,若需要打开可点击Android studio导航栏->File->Settings->Build,Execution,Deployment->Gradle,进行配置更改
5、.gitignore这个文件是用来将指定的目录或文件排除在版本控制之外
6、build.gradle:项目全局的gradle构建脚本
7、.gradle.properties全局的gradle配置文件,这里配置的属性将会影响到项目中所有的gradle编译脚本
8、gradlew和gradlew.dat:用来在命令行中执行gradle命令,其中gradlew是在Linux或Mac系统中使用的,gradlew.dat是在Windows系统中使用的
9、HelloWorld.imi:是所有IntelliJ IDEA项目都会自动生成的一个文件,(Android Studio是基于IntelliJ IDEA开发的),用于标识这是一个IntelliJ IDEA项目
10、local.properties:用于指定本机中的Android SDK路径,通常内容都是自动生成的,当Android SDK的位置发生变化,需要更改该文件
11、settings.gradle:用于制定项目中所有引入的模块,同城模块的引入都是自动完成的
app下对的目录结构:
1、build:包含一些编译是自动生成的文件
2、libs:如果你的项目中使用到了第三方的jar包,就需要将这些jar包放在libs目录下,放在该目录下的jar包都会被自动添加到构建路径里去
3、androidTest:此处是用来编写Android Test测试用例的,可以对项目进行一些自动化的测试
4、java:存放所有的java代码
5、res:项目中使用到的所有图片,布局,字符串资源等都要存放在这个目录下
6、test:用来编写UnitTest用例的
7、.gitignore:用于将模块内指定的目录或文件排除在版本控制之外
8、build.gradle:app模块的gradle的构建脚本
9、proguard-rules.pro:用于指定项目代码的混淆规则






Android项目中的应用图标由android.icon属性来指定

build.gradle文件结构:jcenter():是一个代码托管仓库,我们可以引用任何jcenter上的开源项目
                      classpath 'com.android.tools.build:gradle:2.2.0':使用classpath声明一个Gradle插件


app->build.gradle: 
defaultConfig闭包用于对项目进行细节性的配置   
apply plugin: 'com.android.application':表示一个应用程序模块,'com.android.application则表示一个库模块,前者可直接运行,后者需依附别的应用程序模块运行
compileSdkVersion:指定项目的编译版本
buildToolsVersion:用于指定项目构建工具的版本
applicationId:指定项目的包名
minSdkVersion:表示项目最低兼容的Android系统的版本,15表示最低兼容到Android4.0
targetSdkVersion:若在目标版本上已做了充分的测试,系统将会为应用程序启用一些最新的功能和特性,若该值为23或更高,则系统会为你的程序引入运行时权限
versionCode:指定项目的版本号
versionName:指定项目的版本名
buildTypes闭包用于指定生成安装文件的相关配置
debug子闭包:用于指定生成测试版安装文件的配置
release子闭包:用于生成正式版安装文件的配置
minifyEnabled:用于指定是否对代码进行混淆
proguardFiles:指定混淆时使用的规则文件,指定了两个文件,第一个是proguard-android.txt里面是所有项目通用的混淆规则,另一个是proguard-rules.pro是当前项目根目录下的,里面编写当前项目特有的混淆规则
Android Studio直接运行项目生成的都是测试版的安装文件
dependencies闭包:指定当前项目所有的依赖关系,通常Android Studio项目一共有3中依赖关系,本地依赖,库依赖和远程依赖本地依赖可以对本地的jar包或目录添加依    赖关系,库依赖可以对项目中的库模块添加依赖关系,远程依赖则可以对jcenter库上的开源项目添加依赖关系
compile fileTree:本地依赖声明,表示将lib目录下所有.jar后缀的文件都添加到项目的构建路径中
compile:远程依赖声明,
androidTestCompile:声明测试用例库
compile project:库依赖,后面加依赖的库模块的名称如compile project(':helper')


Android日志工具:Log,提供五种方法来打印日志
Log.v():打印最琐碎的日志信息。对应级别为verbose,级别最低
Log.d():打印调试信息,对应级别为debug,传入两个参数,第一个为tag,用于对打印信息的过滤,第二个为msg,具体的内容
Log.i():打印一些比较重要的信息,对应级别为info
Log.w():打印一些警告信息,对应级别为warn
Log.e():打印程序中的错误信息。对应级别为error
原创粉丝点击