gradle编译命令行
㈠ 如何在Android Studio中使用Maven
这有大致几个原因:
Gradle相关插件需要下载,Maven依赖的jar包需要下载
Gradle命令行编译慢,是由于配置不完善,Android Studio IDE环境亦然
机器性能差
参考方法,具体细节请参阅gradle官方文档,android官方文档等
下载并配置gradle离线包,配置Maven本地仓库
命令行编译的话, 配置 daemon=true(开启gradle守护进程)等,Android Studio 勾选 offlinework选项
在下面的目录下面创建gradle.properties文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
㈡ 如何在Android Studio中使用Maven
要在gradle中使用的:
repositories {
mavenCentral()
maven {
url "${HOME}/.m2/repository/"
}
}
通过对数据库的索引,我们还为您准备了:
Android Studio怎么使用本地的maven库
答:buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.12.+' } } allprojects { repositories { mavenLocal() mavenCentral() } }
===========================================
Android Studio怎么使用本地的maven库
答:要在gradle中使用的: repositories { mavenCentral() maven { url "${HOME}/.m2/repository/" } }
===========================================
Android studio使用方法
问:Android studio;我下载了一个俄罗斯方块的源代码,希望通过Android stu...
答:先来到Android Studio的bin目录下,修改studio.bat 第72行GOTO end 在它前面加上PAUSE 用于查看错误消息,进入cmd 然后指向Android Studio目录下 运行studio.bat 可以查看错误消息,去修改android-studio\bin目录下的studio.exe.vmoptions 去除第...
===========================================
㈢ 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<Project>接口即可,在我的实现代码中,做了两件事,一是定制了项目的代码结构,二是添加了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<Project> {
@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目录下,创建一个文件:<plugin-name>.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为ideaMole Task增加识别Test Source Root的能力即可:
Groovy代码
apply plugin: 'idea'
...
idea {
mole {
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 {
mole {
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: '<group-id>',name:'<artifact-id>',version:'<version>'
}
,举个例子,假设项目依赖了4.10版本的junit,那么配置就是
Groovy代码
compile group: 'junit',name:'junit',version:'4.10'
另外Depencies还可以按如下方式简写
Groovy代码
compile '<group-id>:<artifact-id>:<version>'
例子
Groovy代码
compile 'junit:junit:4.10'
最后,如何把自己的项目发布到Repository中,
Groovy代码
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://localhost/tmp/myRepo/")
}
}
㈣ Android studio 中如何构建Maven项目
作者:知乎用户
链接:https://www.hu.com/question/24367230/answer/44804731
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
诚如你所说gradle构建方式,编译会较慢,特别是第一次使用的时候启动也会较慢。这有大致几个原因:
Gradle相关插件需要下载,Maven依赖的jar包需要下载
Gradle命令行编译慢,是由于配置不完善,Android Studio IDE环境亦然
机器性能差
参考方法,具体细节请参阅gradle官方文档,android官方文档等
下载并配置gradle离线包,配置Maven本地仓库
命令行编译的话, 配置 daemon=true(开启gradle守护进程)等,Android Studio 勾选 offlinework选项
在下面的目录下面创建gradle.properties文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
并在文件中增加:org.gradle.daemon=true
其他更详细的不在此处赘述
--------------------------
update:给到一些相关参考
Chapter 19. The Gradle Daemon
加速Android Studio/Gradle构建 顺手摘了一篇,类似博客不少
使用Gradle构建Android程序
Gradle插件用户指南(译)
其他具体细节请通过官方文档,google搜索,参考他人博客解决,此处仅提供参考。
㈤ 如何 gradle build
1. 为什么选择Gradle?
2. 简单入门
2.1 使用Intellij Idea创建gradle项目
首先在Idea中启用Gradle支持:Settings->Plugins: Gradle
然后创建一个gradle项目或模块,会发现目录结构和maven的很像,其中build.gradle是gradle的配置文件,类似于maven中pom.xml文件,以下是build.gradle的简单示例:
apply plugin: 'java'
group = 'org.yousharp'
version = '1.0-SNAPSHOT'
sourceCompatibility = 1.7
targetCompatibility = 1.7
repositories {
mavenCentral()
maven { url "repo.maven.apache.org/maven2" }
}
dependencies {
compile group: 'com.google.guava', name: 'guava', version:'17.0'
compile group: 'redis.clients', name: 'jedis', version:'2.6.0'
testCompile group: 'junit', name: 'junit', version:'4.11'
}
插件(plugin):是gradle的一种扩展,gradle预定义了很多插件,常见的如java插件、war插件等;java插件中定义了一些有用的task,如编译源码、执行单元测试、生成jar包、约定默认的目录结构等; repositories定义仓库,dependencies定义项目的依赖,比maven的XML定义更简洁;
那么,如何编译、测试,以及运行gradle的项目呢?
刚才说到java插件预定义了很多task,其中就包括编译、测试、生成jar包等task,可以在命令行通过 $ gradle tasks 查看项目已定义的所有task以及含义,如java插件中常用的task有:
+ assemble: 编译
+ build:编译并执行测试
+ clean:删除build目录
+ jar: 生成jar包
+ test:执行单元测试
2.2 将Java项目从maven迁移到gradle
如何将一个java项目从maven迁移到gradle呢?gradle集成了一个很方便的插件:Build Init Plugin,使用这个插件可以很方便地创建一个新的gradle项目,或者将其它类型的项目转换为gradle项目。
要将maven项目转换为gradle项目,只需要在项目的pom文件所在的目录下执行以下命令:
$ gradle init --type pom
上面的命令会根据pom文件自动生成gradle项目所需的文件和配置,然后以gradle项目重新导入即可。
㈥ 如何看IDEA编译一个工程的命令行
2.1 使用Intellij Idea创建gradle项目
首先在Idea中启用Gradle支持:Settings->Plugins: Gradle
然后创建一个gradle项目或模块,会发现目录结构和maven的很像,其中build.gradle是gradle的配置文件,类似于maven中pom.xml文件,以下是build.gradle的简单示例:
apply plugin: 'java'
group = 'org.yousharp'
version = '1.0-SNAPSHOT'
sourceCompatibility = 1.7
targetCompatibility = 1.7
repositories {
mavenCentral()
maven { url "repo.maven.apache.org/maven2" }
}
dependencies {
compile group: 'com.google.guava', name: 'guava', version:'17.0'
compile group: 'redis.clients', name: 'jedis', version:'2.6.0'
㈦ gradle.properties文件在哪
通常在项目的根目录,在Android Studio 创建一个项目的时候,根目录下会生成gradle.properties和local.properties文件。
properties的数据格式:
采用键值对的方式,写法:key=value
(7)gradle编译命令行扩展阅读
项目结构
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:项目依赖的库,编译时自动下载。