导航:首页 > 操作系统 > androidgradleapi

androidgradleapi

发布时间:2022-11-04 11:34:56

Ⅰ 项目使用了androidx,但gradle引入的第三方库使用的是android.support,但是为什么运行却没有任何问题

可能是这个第三方库使用api依赖,所以你引入了这个库就相当于同时引入了他的support库

Ⅱ android studio添加gradle还要添加maven吗

鉴于Android Studio使用Gradle构建项目,在IDE的使用过程中可能会遇到很多令人头疼的问题。大锤也是第一次接触,为有个基本的认识,特找来Android官方手册,和大家一起学习学习。翻译不当之处,望指出。
为什么要用Gradle?
Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑
以下是为什么Android Studio选择Gradle的主要原因:
使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
支持已有的Maven或者Ivy仓库基础建设
非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
允许IDE集成,是很好的API工具
需要准备:
Gradle 1.6 or 1.7
SDK with Build Tools 17.0.0 (released 5/16/2013)
Basic Project
在Gradle项目的根目录下,有个叫build.gradle的文件,它描述了这个项目的整体构建基础。
build文件
最基本的java程序,它的build.gradle文件就一句话:
apply plugin: 'java'
最基本的Android项目,它的build.gradle如下:
buildscript {
repositories {
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:0.5.6'
}
}

apply plugin: 'android'
android {
compileSdkVersion 17
}

我们一步步来分析一下上面三部分的内容。
buildscript{...} 配置了驱动build的代码,它声明将在Maven中央仓库,取一个classpath dependency,也就是Android plugin for Gradle v0.5.6
apply plugin 指明了用到的plugin是android,就像前面java程序中,用的plugin是java一样
android{...} 中配置了所有android构建的参数,这里也就是Android DSL的入口点。
默认的,只有目标编译环境是必要的,也就是compileSdkVersion这个属性。这和以前在project.properties中的target属性类似。
值得注意的是,如果你在Android项目中写 apply plugin:java 而不是apply plugin:android的话,将会build失败。

Ⅲ android studio 一定要gradle吗

是的。
鉴于Android Studio使用Gradle构建项目,在IDE的使用过程中可能会遇到很多令人头疼的问题。大锤也是第一次接触,为有个基本的认识,特找来Android官方手册,和大家一起学习学习。翻译不当之处,望指出。
为什么要用Gradle?
Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑
以下是为什么Android Studio选择Gradle的主要原因:
使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
支持已有的Maven或者Ivy仓库基础建设
非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
允许IDE集成,是很好的API工具
需要准备:
Gradle 1.6 or 1.7
SDK with Build Tools 17.0.0 (released 5/16/2013)
Basic Project
在Gradle项目的根目录下,有个叫build.gradle的文件,它描述了这个项目的整体构建基础。
build文件
最基本的java程序,它的build.gradle文件就一句话:
apply plugin: 'java'
最基本的Android项目,它的build.gradle如下:
buildscript {
repositories {
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:0.5.6'
}
}

apply plugin: 'android'
android {
compileSdkVersion 17
}

我们一步步来分析一下上面三部分的内容。
buildscript{...} 配置了驱动build的代码,它声明将在Maven中央仓库,取一个classpath dependency,也就是Android plugin for Gradle v0.5.6
apply plugin 指明了用到的plugin是android,就像前面java程序中,用的plugin是java一样
android{...} 中配置了所有android构建的参数,这里也就是Android DSL的入口点。
默认的,只有目标编译环境是必要的,也就是compileSdkVersion这个属性。这和以前在project.properties中的target属性类似。
值得注意的是,如果你在Android项目中写 apply plugin:java 而不是apply plugin:android的话,将会build失败。

Ⅳ 如何建立与 Android studio和 gradle android 库

转载注: 此应答是纯 Gradle 应答、 在这中使用 IntelliJ 定期但我不知道怎么整合是以 Android 的工作室。我知道发生了什么事对我来说,这我如何使用 Gradle 和 Android 的信徒。

Gradle 已定义的结构 (即您可以更改底部链接将告诉您如何),是与 Maven 非常相似,如果您曾经使用过它。
Project Root
+-- src
| +-- main (your project)
| | +-- java (where your java code goes)
| | +-- res (where your res go)
| | +-- assets (where your assets go)
| | \-- AndroidManifest.xml
| \-- instrumentTest (test project)
| \-- java (where your java code goes)
+-- build.gradle
\-- settings.gradle

如果你仅有的一个项目,不是需要的 settings.gradle 文件。但是你想要添加更多的项目,所以我们需要它。
现在让我们看一看那个 build.gradle 文件。你会需要这个在它 (要添加的 android 工具)
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.3'
}
}

现在我们需要告诉 Gradle 一些 android 系统部件。它是相当简单的。一个基本的那个 (在大多数我情况下的工作方式) 如下所示。我在此块中有一个注释,它将允许我指定的版本名称和代码生成 APK 时。
build.gradle
apply plugin: "android"
android {
compileSdkVersion 17
/*
defaultConfig {
versionCode = 1
versionName = "0.0.0"
}
*/
}

东西我们要想要添加,然而,就没见过的 Gradle 光的人帮助他们使用该项目,而不安装它的方式。
build.gradle
task wrapper(type: org.gradle.api.tasks.wrapper.Wrapper) {
gradleVersion = '1.4'
}

所以现在我们有一个要生成的项目。现在我们要添加其他人。我把它们放在一个目录中,或许称之为指标或子项目。这是无关紧要的但你需要知道你把它放哪。要告诉 Gradle 项目在哪里你都需要将它们添加到 settings.gradle。
目录结构:
Project Root
+-- src (see above)
+-- subProjects (where projects are held)
| +-- reallyCoolProject1 (your first included project)
| \-- See project structure for a normal app
| \-- reallyCoolProject2 (your second included project)
| \-- See project structure for a normal app
+-- build.gradle
\-- settings.gradle

settings.gradle:
include ':subProjects:reallyCoolProject1'
include ':subProjects:reallyCoolProject2'

您应该确保的最后一件事是subProjects/reallyCoolProject1/build.gradle apply plugin: "android-library" 而不是 apply plugin: "android" 。
像每个 Gradle 项目 (和 Maven) 我们现在需要告诉关于它的依赖性的根项目。这还可以包含任何你想要的正常 Java 依赖。
build.gradle
dependencies{
compile 'com.fasterxml.jackson.core:jackson-core:2.1.4'
compile 'com.fasterxml.jackson.core:jackson-databind:2.1.4'
compile project(":subProjects:reallyCoolProject1")
compile project(':subProjects:reallyCoolProject2')
}

我知道这看起来像很多步骤,但他们是很容易的一旦你这样做一次或两次。这种方式也将允许您可以假设你有没有安装了 Android SDK 的 CI 服务器上生成。
NDK 侧注: 如果您要使用 NDK 你需要的东西喜欢下面。可以在这里找到 build.gradle 文件的示例:https://gist.github.com/khernyo/4226923
build.gradle
task NativeLibs(type: Copy) {
from fileTree(dir: 'libs', include: '**/*.so' ) into 'build/native-libs'
}
tasks.withType(Compile) { compileTask -> compileTask.dependsOn NativeLibs }

clean.dependsOn 'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniDir new File('build/native-libs')
}

Ⅳ 如何建立与 Android studio和 gradle android 库

我想从 Eclipse 迁移一个项目,但我试过的什么都不工作。在 Eclipse 中我有 3 个项目 (2 个 android 应用程序项目和 1 个 android 库项目)。2 应用程序项目依赖的库项目。当我做 gradle 出口时不工作的 3 项目吧我对重组项目开放但还没找到如何应该这样的任何文档。
有一个能让 3 项目那日食出口工作在一起吗?我更好地关闭重组的事情和如果是如何应该这样的文档吗?
更新
我已将整个项目上载到 GitHub https://github.com/respectTheCode/android-studio-library-example
更新 1
根据建议从帕德玛 · 库马尔 · 这是我已经试过。
创建一个称为的新项目MyApp
单击 File > New Mole ,选择 Android Library 并将其命名MyLib
单击Build > Make Project
生成失败,此错误
Mole "MyLib" was fully rebuilt e to project configuration/dependencies changes
Compilation completed with 1 error and 0 warnings in 19 sec
1 error
0 warnings
/.../MyApp/MyLib/build/bundles/debug/AndroidManifest.xml
Gradle: <manifest> does not have package attribute.
然后,添加 package 特性使它的清单
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mylib" >
在大厦后出现此错误
Mole "MyApp" was fully rebuilt e to project configuration/dependencies changes
Compilation completed with 2 errors and 0 warnings in 13 sec
2 errors
0 warnings
/.../MyApp/MyLib/src/main/java/com/example/mylib/MainActivity.java
Gradle: package R does not exist
Gradle: package R does not exist
添加依赖关系似乎不该错误产生任何影响。继续从上面
单击File > Project Structure > Moles > MyApp-MyApp
切换到 Dependencies 选项卡
单击 + > Mole Dependency 和挑MyLib
单击 Apply 和OK
单击Build > Make Project
更新 2
根据伊桑这是我们从哪里得到的建议
2 子项目 build.gradle 似乎有了正确的部件的所有和唯一的区别是插件线波纹管是 MyApp/build.gradle 。
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'

dependencies {
compile files('libs/android-support-v4.jar')
}

android {
compileSdkVersion 17
buildToolsVersion "17.0.0"

defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
根项目 build.gradle 是空的因此增加了像这样的两个项目
dependencies {
compile project(":MyLib")
compile project(":MyApp")
}
我现在会出现此错误时建设
Gradle:
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/kevin/GitHub/AppPress/MyApp/build.gradle' line: 2
* What went wrong:
A problem occurred evaluating root project 'MyApp'.
> Could not find method compile() for arguments [project ':MyLib'] on root project 'MyApp'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
更新 3
大的感谢伊解决此问题。
添加 compile project(':SubProjects:MyLib') 到MyLib/build.gradle
删除 compile files('libs/android-support-v4.jar') 从MyLib/build.gradle
关闭项目并从 gradle 导入根项目
更新 4
0.1.2 到你现在可以包括 compile "com.android.support:support-v4:13.0.0" 而不是 compile files('libs/android-support-v4.jar') 。因为它来自住友公司专家现在可以包括这在多个项目中没有问题。
buildscript {
repositories {
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}

apply plugin: 'android'

dependencies {
compile "com.android.support:support-v4:13.0.0"

compile project(':SubProjects:MyLib')
}
更新 5
自 0.1.3 现在有一个"同步项目"按钮在工具栏中。您可以单击,而不是对更改之后,重新导入您的项目 .gradle 的文件。
解决方法 1:
注: 此应答是纯 Gradle 应答、 在这中使用 IntelliJ 定期但我不知道怎么整合是以 Android 的工作室。我知道发生了什么事对我来说,这我如何使用 Gradle 和 Android 的信徒。
TL ; 博士完整的示例- https://github.com/ethankhall/driving-time-tracker/
免责声明: 这是我 am / 工作的一个项目。
Gradle 已定义的结构 (即您可以更改底部链接将告诉您如何),是与 Maven 非常相似,如果您曾经使用过它。
Project Root
+-- src
| +-- main (your project)
| | +-- java (where your java code goes)
| | +-- res (where your res go)
| | +-- assets (where your assets go)
| | \-- AndroidManifest.xml
| \-- instrumentTest (test project)
| \-- java (where your java code goes)
+-- build.gradle
\-- settings.gradle
如果你仅有的一个项目,不是需要的 settings.gradle 文件。但是你想要添加更多的项目,所以我们需要它。
现在让我们看一看那个 build.gradle 文件。你会需要这个在它 (要添加的 android 工具)
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.3'
}
}
现在我们需要告诉 Gradle 一些 android 系统部件。它是相当简单的。一个基本的那个 (在大多数我情况下的工作方式) 如下所示。我在此块中有一个注释,它将允许我指定的版本名称和代码生成 APK 时。
build.gradle
apply plugin: "android"
android {
compileSdkVersion 17
/*
defaultConfig {
versionCode = 1
versionName = "0.0.0"
}
*/
}
东西我们要想要添加,然而,就没见过的 Gradle 光的人帮助他们使用该项目,而不安装它的方式。
build.gradle
task wrapper(type: org.gradle.api.tasks.wrapper.Wrapper) {
gradleVersion = '1.4'
}
所以现在我们有一个要生成的项目。现在我们要添加其他人。我把它们放在一个目录中,或许称之为指标或子项目。这是无关紧要的但你需要知道你把它放哪。要告诉 Gradle 项目在哪里你都需要将它们添加到 settings.gradle。
目录结构:
Project Root
+-- src (see above)
+-- subProjects (where projects are held)
| +-- reallyCoolProject1 (your first included project)
| \-- See project structure for a normal app
| \-- reallyCoolProject2 (your second included project)
| \-- See project structure for a normal app
+-- build.gradle
\-- settings.gradle
settings.gradle:
include ':subProjects:reallyCoolProject1'
include ':subProjects:reallyCoolProject2'
您应该确保的最后一件事是subProjects/reallyCoolProject1/build.gradle apply plugin: "android-library" 而不是 apply plugin: "android" 。
像每个 Gradle 项目 (和 Maven) 我们现在需要告诉关于它的依赖性的根项目。这还可以包含任何你想要的正常 Java 依赖。
build.gradle
dependencies{
compile 'com.fasterxml.jackson.core:jackson-core:2.1.4'
compile 'com.fasterxml.jackson.core:jackson-databind:2.1.4'
compile project(":subProjects:reallyCoolProject1")
compile project(':subProjects:reallyCoolProject2')
}
我知道这看起来像很多步骤,但他们是很容易的一旦你这样做一次或两次。这种方式也将允许您可以假设你有没有安装了 Android SDK 的 CI 服务器上生成。
NDK 侧注: 如果您要使用 NDK 你需要的东西喜欢下面。可以在这里找到 build.gradle 文件的示例: https://gist.github.com/khernyo/4226923
build.gradle
task NativeLibs(type: Copy) {
from fileTree(dir: 'libs', include: '**/*.so' ) into 'build/native-libs'
}
tasks.withType(Compile) { compileTask -> compileTask.dependsOn NativeLibs }

clean.dependsOn 'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniDir new File('build/native-libs')
}
资料来源:
http://tools.android.com/tech-docs/new-build-system/user-guide
https://gist.github.com/khernyo/4226923
https://github.com/ethankhall/driving-time-tracker/

Ⅵ 如何使用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指定)。

Ⅶ android开发怎么更换api

1、Eclipse版
a、打开工程
b、找到project.properties打开
c、找到target把后面的值改成你自己的
2、Android Studio
a、打开工程
b、找到build.gradle打开
c、找到defaultConfig
d、把里面的targetSdkVersion值改成你自己的

Ⅷ 如何建立与 Android studio和 gradle android 库

Gradle 已定义的结构 (即您可以更改底部链接将告诉您如何),是与 Maven 非常相似,如果您曾经使用过它。
Project Root
+-- src
| +-- main (your project)
| | +-- java (where your java code goes)
| | +-- res (where your res go)
| | +-- assets (where your assets go)
| | \-- AndroidManifest.xml
| \-- instrumentTest (test project)
| \-- java (where your java code goes)
+-- build.gradle
\-- settings.gradle

如果你仅有的一个项目,不是需要的 settings.gradle 文件。但是你想要添加更多的项目,所以我们需要它。
现在让我们看一看那个 build.gradle 文件。你会需要这个在它 (要添加的 android 工具)
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.3'
}
}

现在我们需要告诉 Gradle 一些 android 系统部件。它是相当简单的。一个基本的那个 (在大多数我情况下的工作方式) 如下所示。我在此块中有一个注释,它将允许我指定的版本名称和代码生成 APK 时。
build.gradle
apply plugin: "android"
android {
compileSdkVersion 17
/*
defaultConfig {
versionCode = 1
versionName = "0.0.0"
}
*/
}

东西我们要想要添加,然而,就没见过的 Gradle 光的人帮助他们使用该项目,而不安装它的方式。
build.gradle
task wrapper(type: org.gradle.api.tasks.wrapper.Wrapper) {
gradleVersion = '1.4'
}

所以现在我们有一个要生成的项目。现在我们要添加其他人。我把它们放在一个目录中,或许称之为指标或子项目。这是无关紧要的但你需要知道你把它放哪。要告诉 Gradle 项目在哪里你都需要将它们添加到 settings.gradle。
目录结构:
Project Root
+-- src (see above)
+-- subProjects (where projects are held)
| +-- reallyCoolProject1 (your first included project)
| \-- See project structure for a normal app
| \-- reallyCoolProject2 (your second included project)
| \-- See project structure for a normal app
+-- build.gradle
\-- settings.gradle

settings.gradle:
include ':subProjects:reallyCoolProject1'
include ':subProjects:reallyCoolProject2'

您应该确保的最后一件事是subProjects/reallyCoolProject1/build.gradle apply plugin: "android-library" 而不是 apply plugin: "android" 。
像每个 Gradle 项目 (和 Maven) 我们现在需要告诉关于它的依赖性的根项目。这还可以包含任何你想要的正常 Java 依赖。
build.gradle
dependencies{
compile 'com.fasterxml.jackson.core:jackson-core:2.1.4'
compile 'com.fasterxml.jackson.core:jackson-databind:2.1.4'
compile project(":subProjects:reallyCoolProject1")
compile project(':subProjects:reallyCoolProject2')
}

我知道这看起来像很多步骤,但他们是很容易的一旦你这样做一次或两次。这种方式也将允许您可以假设你有没有安装了 Android SDK 的 CI 服务器上生成。
NDK 侧注: 如果您要使用 NDK 你需要的东西喜欢下面。可以在这里找到 build.gradle 文件的示例:https://gist.github.com/khernyo/4226923
build.gradle
task NativeLibs(type: Copy) {
from fileTree(dir: 'libs', include: '**/*.so' ) into 'build/native-libs'
}
tasks.withType(Compile) { compileTask -> compileTask.dependsOn NativeLibs }

clean.dependsOn 'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniDir new File('build/native-libs')
}

Ⅸ Android Studio为什么要用Gradle

Android Studio使用Gradle的目的在于帮助开发者管理项目依赖,开发部署,代码复用。

Gradle是一种构建工具,可以帮助开发者管理项目中的差异,依赖,编译,打包,部署等,可以定义满足自己需要的构建逻辑,写入到build.gradle中供日后复用。

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。

Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。

(9)androidgradleapi扩展阅读:

gradle提供的功能:

1、一种可切换的,像maven一样的基于约定的构建框架,却又从不锁住你(约定优于配置)

2、强大的支持多工程的构建

3、强大的依赖管理(基于Apache Ivy),提供最大的便利去构建你的工程

4、全力支持已有的Maven或者Ivy仓库基础建设

5、支持传递性依赖管理,在不需要远程仓库和pom.xml和ivy配置文件的前提下

6、基于groovy脚本构建,其build脚本使用groovy语言编写

7、具有广泛的领域模型支持你的构建

Ⅹ 如何使用Android Studio 开发Gradle插件

Gradle插件开发

Gradle插件是使用Groovy进行开发的,而Groovy其实是可以兼容Java的。AndroidStudio其实除了开发Android App外,完全可以胜任开发Gradle插件这一工作,下面来讲讲具体如何开发。

首先,新建一个Android项目。

之后,新建一个Android Mole项目,类型选择Android Library。

将新建的Mole中除了build.gradle文件外的其余文件全都删除,然后删除build.gradle文件中的所有内容。

在新建的mole中新建文件夹src,接着在src文件目录下新建main文件夹,在main目录下新建groovy目录,这时候groovy文件夹会被Android识别为groovy源码目录。除了在main目录下新建groovy目录外,你还要在main目录下新建resources目录,同理resources目录会被自动识别为资源文件夹。在groovy目录下新建项目包名,就像Java包名那样。resources目录下新建文件夹META-INF,META-INF文件夹下新建gradle-plugins文件夹。这样,就完成了gradle 插件的项目的整体搭建,之后就是小细节了。目前,项目的结构是这样的。

打开Mole下的build.gradle文件,输入

apply plugin: 'groovy'
apply plugin: 'maven'

dependencies {
compile gradleApi()
compile localGroovy()
}

repositories {
mavenCentral()
}12345678910111234567891011

下面我们在包名下新建一个文件,命名为PluginImpl.groovy,注意有groovy后缀,然后在里面输入,注意包名替换为你自己的包名。

package cn.e.zafu.gradle

import org.gradle.api.Plugin
import org.gradle.api.Project

public class PluginImpl implements Plugin<Project> {
void apply(Project project) {
project.task('testTask') << {
println "Hello gradle plugin"
}
}
}

然后在resources/META-INF/gradle-plugins目录下新建一个properties文件,注意该文件的命名就是你只有使用插件的名字,这里命名为plugin.test.properties,在里面输入

implementation-class=cn.e.zafu.gradle.PluginImpl11

注意包名需要替换为你自己的包名。

这样就完成了最简单的一个gradle插件,里面有一个叫testTask的Task,执行该task后会输出一段文字,就像当初我们输出HelloWorld一样。

阅读全文

与androidgradleapi相关的资料

热点内容
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:383
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163