woo*_*oot 15 android gradle android-build android-studio
我有一个现有的Android项目,具有以下结构:
- ProjectName
-- AndroidManifest.xml
-- local.properties
-- project.properties
-- assets
-- libs (containing all jars)
-- modules (containing all library projects my project depends on)
-- res
-- src
---- com/namespace/projectname (all my classes including main activity are here)
Run Code Online (Sandbox Code Playgroud)
我没有使用任何特定的构建系统来构建我的项目,而不是默认使用Android Studio IDE提供的项目(尽管该项目最初是使用IntelliJ CE创建的).
我想使用Gradle与android插件,并在我的构建过程中做一些工作.我已经尝试了几种配置来实现这一点,并且每次都无法完成成功的构建.
在这种情况下推荐的方法是什么?我应该改变我的项目结构吗?或者是否可以使用现有结构配置gradle?
任何帮助将不胜感激.
谢谢!
小智 7
只需在计算机上安装gradle并确保所有路径都正常.
之后,在Project文件夹中创建一个"build.gradle"文件.
这里有一个基本的例子,你可以从:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.+'
}
}
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':yourModuleName')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 10
targetSdkVersion 16
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('yourTestRoot')
}
}
Run Code Online (Sandbox Code Playgroud)
要像在intrdenciey块中那样对模块进行地址修改,您必须创建一个settings.gradle文件并将模块作为项目引用.因为我假设他们也有自定义布局,你也必须在模块文件夹上制作build.gradle文件.
对于settings.gradle设置,你应该访问gradle 文档,这里没有特定的android.
在这种情况下推荐的方法是什么?我应该改变我的项目结构吗?或者是否可以使用现有结构配置gradle?
使用现有结构配置gradle是完全可能的.
您需要为每个库项目添加build.gradle.您还需要将build.gradle和settings.gradle文件添加到项目根文件夹.
应该是这样的:
ProjectName
build.gradle <<<<<<
settings.gradle <<<<<<
AndroidManifest.xml
local.properties
project.properties
assets
res
src
libs
modules
module1
build.gradle <<<<<<
module2
build.gradle <<<<<<
module3
build.gradle <<<<<<
Run Code Online (Sandbox Code Playgroud)
在settings.gradle中,您需要包含所有项目文件夹,如果您的主项目位于子文件夹中,它也应该包含在内,而不是这种情况.
settings.gradle应如下所示:
include ':modules:module1', ':modules:module2', ':modules:module2'
Run Code Online (Sandbox Code Playgroud)
main.gradle主项目应具有:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':modules:module1')
compile project(':modules:module2')
compile project(':modules:module3')
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12708 次 |
| 最近记录: |