導航:首頁 > 操作系統 > 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