Gradle Android插件 官方文档 (3)

gradle 控制android工程结构

最基本的build.gradle文件期望配置一个默认的文件结构,gradle遵循使用配置的观念,所以它会提供好多很好的配置选项。

基本工程包括两个主要的文件夹:

  • src/main/
  • src/androidTest/

几乎最重要的东西都在这两个文件夹内(如果你认为test也重要的话),在java工程的main文件夹里包括:

  • java/
  • resources/

java中放置java代码文件,resources中放置资源文件,这两个文件能被java plugin识别,同时也能被android plugin识别,main下面android plugin还识别如下结构:

  • AndroidManifest.xml
  • res/
  • assets/
  • aidl/
  • rs/
  • jni/

其中AndroidManifest.xml不写的话会报错,也就是说main下面最少放一个manifest文件,其他看需要,而且这些目录也是见名知意的。Test目录下不需要manifest文件,他会自动生成。

配置这些结构

上面说了gradle期望的默认结构结构,就是说如果按照上面的结构构件工程,那就不需要配置了,他能自动识别。下面讲如何自由配置这些功能目录的路径。比如配置放置java文件和资源文件的路径,如下:

sourceSets{

     main{     
        java{
           srcDir 'src/java'
        }
     }
}


这里使用了srcDir这个配置项,它用来指定默认路径,据说这么写(或不写),gradle自动添加这些路径。像上面这么写,可读性很高,这就是gradle SDL的好处。

如果不想使用默认路径,就使用srcDirs这个配置项,使用一个数组赋值,下面的例子还可以看到上面“{....}”写法的另一种写法:

soruceSets{
    main.java.srcDirs = ['src/java']
    main.resources.srcDirs = ['src/resources']
}


这种写法会简练不少,其实上面的一个花括号就对应一个类。

上面都是说的java工程,android工程的配置类似,因为它有自己的文件结构,所以放在android对象里。下面是一个例子:

android{
     sourceSets{
         main{
            manifest.srcFile  'AndroidManifeset.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
         }
         androidTest.setRoot('tests')
     }
}
这个例子对应eclipse里的工程结构,可读性也很高,每一行指定一个路径。androidTest.setRoot()会把src/androidTest/*搬家到tests/*,这些在java工程不能用。


下一节,编译Tasks


写这个之前读了前面的两篇,发现根本不想看,略看也没发现什么重点信息。所以不能再像以前一样基本照搬原文翻译,需要在忠实原文的情况下,更多的可读性,和更多的有用信息。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值