㈠ gradle.properties文件在哪
通常在项目的根目录,在android Studio 创建一个项目的时候,根目录下会生成gradle.properties和local.properties文件。
properties的数据格式:
采用键值对的方式,写法:key=value
(1)Gradl如何编译指定模块扩展阅读
项目结构
1、app/build:app模块编译输出的文件。
2、app/libs: 放置引用的类库文件。
3、app/src: 放置应用的主要文件目录。
4、app/src/androidTest:单元测试目录。
5、app/src/main:主要的项目目录和代码。
6、app/src/main/assets:放置原生文件,里面的文件会保留原有格式,文件的读取需要通过流。
7、app/src/main/java:项目的源代码。
8、build:系统生成的文件目录。
9、gradle: wrapper的jar和配置文件所在的位置。
10、.gitattributes:用于设置文件的对比方式。
11、.gitignore: 忽略的文件或者目录。
12、build.gradle:项目的gradle编译文件。
13、gradle.properties: gradle相关的全局属性设置。
14、gradlew: 编译脚本,可以在命令行执行打包。
15、gradlew.bat:windows下的gradle wrapper可执行文件。
16、local.properties:配置SDK/NDK所在的路径。
17、MyApplication.iml:保存该模块的相关信息。
18、README.md:文本编辑器,记录一些相关信息。
19、settings.gradle:设置相关的gradle脚本。
20、External Libraries:项目依赖的库,编译时自动下载。
㈡ 如何使用Android Studio开发Gradle插件
使用Android Studio开发Gradle插件的步骤:
1 创建Gradle Mole
AndroidStudio中是没有新建类似Gradle Plugin这样的选项的,那我们如何在AndroidStudio中编写Gradle插件,并打包出来呢?
(1) 首先,你得新建一个Android Project
(2) 然后再新建一个Mole,这个Mole用于开发Gradle插件,同样,Mole里面没有gradle plugin给你选,但是我们只是需要一个“容器”来容纳我们写的插件,因此,你可以随便选择一个Mole类型(如Phone&Tablet Mole或Android Librarty),因为接下来一步我们是将里面的大部分内容删除,所以选择哪个类型的Mole不重要。
(3) 将Mole里面的内容删除,只保留build.gradle文件和src/main目录。
由于gradle是基于groovy,因此,我们开发的gradle插件相当于一个groovy项目。所以需要在main目录下新建groovy目录
(4) groovy又是基于Java,因此,接下来创建groovy的过程跟创建java很类似。在groovy新建包名,如:com.hc.plugin,然后在该包下新建groovy文件,通过new->file->MyPlugin.groovy来新建名为MyPlugin的groovy文件。
(5) 为了让我们的groovy类申明为gradle的插件,新建的groovy需要实现org.gradle.api.Plugin接口。如下所示:
package com.hc.plugin
import org.gradle.api.Plugin
import org.gradle.api.Project
public class MyPlugin implements Plugin<project> {</project>
void apply(Project project) {
System.out.println("========================");
System.out.println("hello gradle plugin!");
System.out.println("========================");
}
}
因为我本人对groovy也不是特别熟悉,所以我尽可能的用Java语言,使用System.out.println而不是用groovy的pintln "",我们的代码里面啥也没做,就打印信息。
(6) 现在,我们已经定义好了自己的gradle插件类,接下来就是告诉gradle,哪一个是我们自定义的插件类,因此,需要在main目录下新建resources目录,然后在resources目录里面再新建META-INF目录,再在META-INF里面新建gradle-plugins目录。最后在gradle-plugins目录里面新建properties文件,注意这个文件的命名,你可以随意取名,但是后面使用这个插件的时候,会用到这个名字。比如,你取名为com.hc.gradle.properties,而在其他build.gradle文件中使用自定义的插件时候则需写成:
apply plugin: 'com.hc.gradle'
然后在com.hc.gradle.properties文件里面指明你自定义的类
implementation-class=com.hc.plugin.MyPlugin
现在,你的目录应该如下:
(7) 因为我们要用到groovy以及后面打包要用到maven,所以在我们自定义的Mole下的build.gradle需要添加如下代码:
apply plugin: 'groovy'
apply plugin: 'maven'
dependencies {
compile gradleApi()
compile localGroovy()
}
repositories {
mavenCentral()
}
2 打包到本地Maven
前面我们已经自定义好了插件,接下来就是要打包到Maven库里面去了,你可以选择打包到本地,或者是远程服务器中。在我们自定义Mole目录下的build.gradle添加如下代码:
group='com.hc.plugin'
version='1.0.0'
uploadArchives {
repositories {
mavenDeployer {
repository(url: uri('D:/repos'))
}
}
}
其中,group和version后面会用到,我们后面再讲。虽然我们已经定义好了打包地址以及打包相关配置,但是还需要我们让这个打包task执行。点击AndroidStudio右侧的gradle工具,如下图所示:
可以看到有uploadArchives这个Task,双击uploadArchives就会执行打包上传啦!执行完成后,去我们的Maven本地仓库查看一下:
其中,com/hc/plugin这几层目录是由我们的group指定,myplugin是模块的名称,1.0.0是版本号(version指定)。
㈢ gradle是什么呢
Gradle是一个构建工具。它是用来帮助我们构建app的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的命令自动为我们构建app。AndroidStudio中默认就使用Gradle来完成应用的构建。有些同学可能会有疑问:”我用AS不记得给Gradle指定过什么构建规则呀,最后不还是能搞出来个apk。
gradle构建工具多项目管理
实际使用中,往往需要管理的都不是单单一个项目,maven使用依赖,继承,组成的概念,在父模块指定自己的子模块,并且准备一些各个子模块公用的资源,配置信息等等。将打包的模块与实现具体功能的模块分开的做法来管理多个项目。Gradle在这一方面做得更加清楚。