安卓工程

Android Studio项目目录结构介绍
  • Project 结构类型
    app/build/ app模块build编译输出的目录
    app/build.gradle app模块的gradle编译文件
    app/app.iml app模块的配置文件
    app/proguard-rules.pro app模块proguard文件
    build.gradle 项目的gradle编译文件
    settings.gradle 定义项目包含哪些模块
    gradlew 编译脚本,可以在命令行执行打包
    local.properties 配置SDK/NDK
    MyApplication.iml 项目的配置文件
    External Libraries 项目依赖的Lib, 编译时自动下载的
  • Android结构类型
    app/manifests AndroidManifest.xml配置文件目录
    app/java 源码目录
    app/res 资源文件目录
    Gradle Scripts gradle编译相关的脚本

为什么要用Gradle?

Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑

  • 使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
  • 基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
  • 支持已有的Maven或者Ivy仓库基础建设
  • 非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
  • 其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
  • 允许IDE集成,是很好的API工具

现在,搞APP开发居多,编译/打包等问题立即就成痛点了。比如:

  • 一个APP有多个版本,Release版、Debug版、Test版。甚至针对不同APP Store都有不同的版本。在以前ROM的环境下,虽然可以配置Android.mk,但是需要依赖整个Android源码,而且还不能完全做到满足条件,很多事情需要手动搞。一个app如果涉及到多个开发者,手动操作必然会带来混乱。
  • library工程我们需要编译成jar包,然后发布给其他开发者使用。以前是用eclipse的export,做一堆选择。要是能自动编译成jar包就爽了。

上述问题对绝大部分APP开发者而言都不陌生,而Gradle作为一种很方便的的构建工具,可以非常轻松得解决构建过程中的各种问题。

你可能感兴趣的:(安卓工程)