Android Project和app中两个build.gradle配置的区别

通常建立一个android项目后回出现两个gradle:一个build.gradle(app),一个build.gradle(Project),顾名思义就是一个是用来配置整个工程的的一个是用来配置app的。android

 

1、gradle中dependencies 的区别:
下面英文就是对compile和classpath区别的解释:app

I’m going to guess that you’re referencing compile and classpath
within the dependencies {} block. If that is so, those are dependency
Configurations.eclipse

A configuration is simply a named set of dependencies. The compile
configuration is created by the Java plugin. The classpath
configuration is commonly seen in the buildSrc {} block where one
needs to declare dependencies for the build.gradle, itself (for
plugins, perhaps).maven

classpath的做用:ide

buildscript itself needs something to run, use classpath单元测试

complie的做用:测试

your project needs something to run, use compilegradle

  在Project中的gradle的dependencies 指添加依赖是使用classpath的,classpath通常是添加buildscript自己须要运行的东西,那么buildscript是用来什么呢?buildScript是用来加载gradle脚本自身须要使用的资源,能够声明的资源包括依赖项、第三方插件、maven仓库地址等。
  在app中的gradle中dependencies 中添加的使应用程序所须要的依赖包,也就是项目运行所须要的东西。ui

2、compile有哪几种?
Compile
compile是对全部的build type以及favlors都会参与编译而且打包到最终的apk文件中。spa

Provided
Provided是对全部的build type以及favlors只在编译时使用,相似eclipse中的external-libs,只参与编译,不打包到最终apk。

APK
只会打包到apk文件中,而不参与编译,因此不能再代码中直接调用jar中的类或方法,不然在编译时会报错

Test compile
Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起做用。

Debug compile
Debug compile 仅仅针对debug模式的编译和最终的debug apk打包。

Release compile Release compile 仅仅针对Release 模式的编译和最终的Release apk打包。

相关文章
相关标签/搜索