gradle详细教程(android studio build.gradle在哪)

gradle详细教程(android studio build.gradle在哪)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

大家好,今天来介绍gradle详细教程的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!

如何使用Android Studio 开发Gradle插件

插件类型
Gradle的插件一般有这么几种:
一种是直接在项目中的gradle文件里编写,这种方式的缺点是无法复用插件代码,在其他项目中还得复制一遍代码(或者说说复制一遍文件)
另一种是在独立的项目里编写插件,然后发布到中央仓库,之后直接引用就可以了,优点就是可复用。就和上面的Nuwa和Small一样。
Gradle相关语法
本篇文章不会详细说明Gradle相关的语法,如果要学习gradle相关的东西,请查看Gradle for Android
Gradle插件开发
Gradle插件是使用Groovy进行开发的,而Groovy其实是可以兼容Java的。Android Studio其实除了开发Android App外,完全可以胜任开发Gradle插件这一工作,下面来讲讲具体如何开发。
首先,新建一个Android项目。
之后,新建一个Android Module项目,类型选择Android Library。
将新建的Module中除了build.gradle文件外的其余文件全都删除,然后删除build.gradle文件中的所有内容。
在新建的module中新建文件夹src,接着在src文件目录下新建main文件夹,在脊孙main目录下新建groovy目录,亏亮这时候groovy文件夹会被Android识别为groovy源码目录。除了在main目销野宽录下新建groovy目录外,你还要在main目录下新建resources目录,同理resources目录会被自动识别为资源文件夹。在groovy目录下新建项目包名,就像Java包名那样。resources目录下新建文件夹META-INF,META-INF文件夹下新建gradle-plugins文件夹。这样,就完成了gradle 插件的项目的整体搭建,之后就是小细节了。目前,项目的结构是这样的。
http://blog.csdn.net/sbsujjbcy/article/details/50782830

gradle详细教程(android studio build.gradle在哪)

gradle 配置 nexus repository

1.mac :

   1).解压陵宽大文件进入bin/

   2).   ./nexus start 可以直接运行,注意有个点

2.windows

   1).进入nexus目录,在bin/jsw 下找到nexus.exe

   2).nexus.exe / install安装成系统服务

   3).nexus.exe / start直接运行

   4).nexus.exe / stop停止

   5).nexus.exe / uninstall卸载

3.ubuntu

http://www.jianshu.com/p/9740778b154f

1).浏览器中http://127.0.0.1:8081/ 默认网址可以进入管理界面

2).内置账户 admin admin123

3)点击左上螺丝,进入 设置界面,默认内置了一些库

4).点击 create repository 

普及一下这几种类型的区别:

5).配置仓库

名称可以修改,其他的配置没有具体了解

6)点击create repository之后就创建成功了,会自动跳转到repository列表界面,点击条目的copy按钮,就可以获取仓库路径了

不详细说明  maven_push.gradle

apply plugin:'maven'

apply plugin:'signing'

configurations {

deployerJars

}

repositories {

mavenCentral()

}

// 判断版本尺竖是Release or Snapshots

def isRelease() {

return!VERSION.contains("SNAPSHOT");

}

// 获取仓库url

def getRepositoryUrl() {

returnisRelease() ? RELEASE_URL : SNAPSHOT_URL;

}

uploadArchives {

repositories {

mavenDeployer {

beforeDeployment {

MavenDeployment deployment -> signing.signPom(deployment)

}

pom.version = VERSION

pom.artifactId = ARTIFACT_ID

pom.groupId = GROUP_ID

repository(url: getRepositoryUrl()) {

authentication(userName: NAME,password: PASSWORD)// maven授权信息

}

}

}

}

// 进行数字巧庆签名

signing {

// 当 发布版本 & 存在"uploadArchives"任务时,才执行

required { isRelease() && gradle.taskGraph.hasTask("uploadArchives") }

sign configurations.archives

}

在build.gradle 中引用maven_push.gradle

gradle.properties中配置账号与仓库链接

最后在task中,点击uploadArchives上传

项目的gradle中配置内部maven库路径

minecraft我的世界gradle构建总是失败求告诉详细教程。不要发网址要会的人。不会的

最近在项目中遇到一明银个不大,但是还蛮烦人的问题,在Maven的约定中,一个标准Java项目的代码结构如下:
project
--src
--main
--java
--resources
--test
--java
--resources

当‘gradle idea’构建intelliJ项目文件时,会自动帮忙设置好所有的Source Root,Test Source Root。但是,在我工作的部门中,我们希望可以把测试分为unit,intg2个类别,这样可以更加容易区分测试的目的,同时提供了Build Pipeline分别运行不同类别测试的能力。因此,我们部门内的标准Java项目结构如下:
project
--src
--main
--java
--resources
--test
--common
--java
--unit
--java
--resources
--intg
--java
--resources

有了这个目录结构之后我们剩下2个问题要解决:
1. 如何区分运行IntegrationTest和Unit Test
2. 如何保证‘gradle idea’以后,无需拍槐滑重新设置Test Source Root。因为gradle不具备识别新的代码结构的能力。

如何写一个Gradle Plugin

语言:
Java,Groovy,Scala都可,推荐用Groovy,毕竟Gradle本质上来说就是一个用Groovy写的DSL,使用Groovy可以更一致一点。

注入方式:
Gradle支持3种形式的定制Plugin注入:

1. 直接把Plugin源代码直接写在Build Script里面。
2. 把Pluigin源代码写到rootProjectDir/buildSrc/src/main/groovy目录下
3. 用一个单独的project来写Plugin源代码,然后以jar依赖的形式注袭腊入项目。

个人觉得,都想到要自己写一个Plugin了,那么一定是有多个项目公用这个Plugin了,否则的话,直接把Plugin的代码直接写到脚本里就好了。因此,要定制Plugin,在我看来,一定是需要以一个单独的jar形式注入的。

写project-structure Plugin:
在Gradle中,写一个Plugin非常简单,首先,添加项目依赖,我使用Groovy来写插件,所以添加了localGroovy依赖。

Gradle代码
apply plugin: 'groovy'

dependencies {
compile gradleApi()
compile localGroovy()
}

然后写Plugin的实现代码,实现代码只需要实现Plugin接口即可,在我的实现代码中,做了两件事,一是定制了项目的代码结构,二是添加了integrationTest Task,该Task只运行*IntegrationTest.class, 这样可以在Build Pipeline分阶段运行Unit Test和IntegrationTest。

Groovy代码
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.tasks.testing.Test

class ProjectStructurePlugin implements Plugin {
@Override
void apply(Project project) {
project.logger.info "Configuring Project Structure for $project.name"

project.configurations {
integrationTestCompile { extendsFrom testCompile }
integrationTestRuntime { extendsFrom integrationTestCompile, testRuntime }
}
configureSourceSets(project)
addIntegrationTestTask(project)
}

private void addIntegrationTestTask(Project project) {
Test intgTest = project.getTasks().create("integrationTest", Test.class);
intgTest.testClassesDir = project.sourceSets.integrationTest.output.classesDir
intgTest.includes = ["/*IntegrationTest.class"]
intgTest.inputs.dir 'src'
intgTest.outputs.dir project.sourceSets.integrationTest.output.classesDir
project.check.dependsOn project.integrationTest
intgTest.dependsOn project.test
}

private void configureSourceSets(Project project) {
project.sourceSets {
test {
java {
srcDir 'src/test/unit/java'
srcDir 'src/test/common/java'
}
resources {
srcDir 'src/test/unit/resources'
}
}

integrationTest {
java {
srcDir 'src/test/intg/java'
srcDir 'src/test/common/java'
}
resources {
srcDir 'src/test/intg/resources'
}
compileClasspath = project.sourceSets.main.output + project.sourceSets.test.output + project.configurations.integrationTestCompile
runtimeClasspath = output + compileClasspath + project.configurations.integrationTestRuntime
}
}
}
}

接着,在项目的src/main/resources/META-INF/gradle-plugins目录下,创建一个文件:.properties,在该文件中指定Plugin的实现类:

Java代码
implementation-class=com.xianlinbox.plugins.ProjectStructurePlugin

在项目中使用该Plugin
首先,需要在build.gradle脚本中引入该Plugin的jar包依赖,可以是以文件的形式,当然个人更推荐的是把jar包发布到Maven库中,以Maven依赖的形式的注入,本例中使用的是本地文件依赖:

Groovy代码
buildscript {
dependencies {
classpath fileTree(dir: 'libs', include: '*.jar')
}
}
然后,注入编写的插件,注意,该插件必须和java plugin一起使用,因为其中使用到SourceSets属性是从该插件中引入进来的:

Groovy代码
apply plugin: 'java'
apply plugin: 'project-structure'

有了这个插件之后,就可以通过‘gradle test’和‘gradle integrationtTest’区别运行UnitTest和IntrgrationTest了。

最后,解决自动设置Test Source Root的问题,只需要在build.gradle为ideaModule Task增加识别Test Source Root的能力即可:

Groovy代码
apply plugin: 'idea'
...
idea {
module {
testSourceDirs += file('src/test/intg/java')
testSourceDirs += file('src/test/intg/resources')
}
}

当然,我们也可以把它写到Plugin中去,在设置为Project-Structrue之后:

Groovy代码
......
compileClasspath = project.sourceSets.main.output + project.sourceSets.test.output + project.configurations.integrationTestCompile
runtimeClasspath = output + compileClasspath + project.configurations.integrationTestRuntime
project.idea {
module {
testSourceDirs = testSourceDirs + new File('src/test/intg/java') + new File('src/test/intg/resources')
}
}
1、安装
Gradle安装和Maven一样方便,只需要,下载(http://www.gradle.org/downloads )==》解压==》配置环境变量(GRADLE_HOME & PATH),配置好环境变量之后记得使用 source命令使新的环境变量生效。配置成功之后,可以在命令行通过 “gradle -v"验证是否安装成功。

2、Gradle编译Maven风格的java项目
首先,在项目根目录创建"build.gradle"文件,编译java项目需要使用gradle的java插件
Groovy代码
apply plugin: 'java'
,因为要集成maven的功能,需要添加maven插件
Groovy代码
apply plugin: 'maven'[

接着,配置项目的Repository,风格如下
Groovy代码
repositories{
mavenCentral();
}
,上面例子使用的是默认的maven的中央库,如果想用自己的本地库,可通过如下方式配置
Groovy代码
def localMavenRepo = 'file://' + new File(System.getProperty('user.home'), '.m2/repository').absolutePath
repositories {
// Use local Maven repo location. We don't need this if we only want to install
// an artifact, but we do need it if we want to use dependencies from the local
// repository.
mavenRepo urls: localMavenRepo
mavenCentral()
}

再然后,配置项目依赖的第三方库,配置模板如下:
Groovy代码
dependencies{
compile group: '',name:'',version:''
}
,举个例子,假设项目依赖了4.10版本的junit,那么配置就是
Groovy代码
compile group: 'junit',name:'junit',version:'4.10'
另外Depencies还可以按如下方式简写
Groovy代码
compile '::'
例子
Groovy代码
compile 'junit:junit:4.10'

最后,如何把自己的项目发布到Repository中,
Groovy代码
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://localhost/tmp/myRepo/")
}
}

AndroidStudio中导入module(超详细)

1.依次点击File–>new–>Import Module,如下图:

2.在弹出窗口中选中知厅橘需要导入的第三方资源中的library文件夹,并点击ok:

3.在接下来的窗口将Module name修改为与Module相关的名称,并依次点击next–>finish:

4.此时会跳出错误提示(不一定跟搭团我的一样):

我们双击导入Module文件夹下的build.gradle文件:

同时打开本项目下的build.gradle,将第一段复制到导入Module中的build.gradle:

再将下面内容中的版本号改为app下的build.gradle中的相应版本号:

5.点击sync按钮:

点击下面弹出的错误提示,将过时的FloatMath方法改为Math并强制转型(所有提示错误的地方都是这么改)

改为:

再次点击sync按钮

6.导入Module如果变成和项目一样的颜色就证明导入成功伏敬了:

android studio怎样导入第三方库 步骤

Android Studio导入第三方库的方法我个人知晓的有三种:

一、Gradle抓取

二、libs导入

三、源码导入

一、弯桥Gradle抓取

  1. Gradle抓取的方法最为简单,只需在Project->app文件夹下的build.gradle文件中添加依赖:

  2. build.gradle文件夹所在位置

  3. 在builde.gradle文件中制定位置添加代码

    compile 'cn.finalteam:galleryfinal:1.4.8.7'

    然后同步一下工程即可。

二、libs导入

  1. 将从网上下载对应的第三方库的埋腔猛jar包放入Project->app文件夹下的libs文件夹:

  2. libs文件夹所在位置

  3. 然后在单击jar包右键,选择“Add as library...”可实现导入;或者在我们上述的build.gradle文件中添加依赖:

    ompile files('libs/galleryfinal.jar')

三、源码导入

  1. 选择Android Studio菜单栏File->New->import Module...,弹出窗口选择Module的路径:

  2. 找到下载好的第三方库,找到其中用的Module:

  3. 选择galleryfinal,点击OK。

  4. 同步一下工程,会出现这样的报错信息:

  5. 点击“Open File”,找到错误的地方:

  6. 导入库的build.gradle位置

  7. 将“project_version”修改为版本名称,如"1.0":

  8. 再次同步工程,又会出现报错信息:

  9. 原因是找不到bintray.gradle文件圆银,查找了以下网上的解决方法是删除或注释掉第三方库的build.gradle文件中的:apply from: "../bintray.gradle"

  10. 然后我们继续同步工程,会发现Android Studio一直停留在:

  11. 这是因为第三方库需要用到相应的jar文件或gradle文件或arr文件,如果觉得这个过程太慢,可以考虑以下方法:

    翻墙

    手动下载相应文件,参考:听说你Android Studio更新Gradle很慢

    放弃治疗,等待下载完毕

分享到 :
相关推荐

slidedown什么意思(bass谱子怎么看)

大家好,今天来介绍slidedown什么意思($(function))的问题,以下是...

u盘文件乱码了怎么办(u盘文件乱码怎么恢复正常数据没有了)

大家好,今天来介绍u盘文件乱码了怎么办(u盘打开里面的文件全是乱码怎么办啊)的问题,...

笔记本电脑怎么连接打印机(笔记本与打印机怎么连接才能打印)

大家好,今天来介绍笔记本电脑怎么连接打印机(笔记本电脑怎么连接打印机设备)的问题,以...

window10如何查看网速(window10网速限速怎么解除)

1、window10如何查看网速Windows10作为目前最广泛使用的操作系统之[&...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注