- 前记:所欲记者甚多,后续增之。
需求
- 继续用
Eclipse
项目的结构,但是使用gradle
编译,或者说任意的项目结构进行编译。
解决方案
- Android studio的项目结构
- Android Studio 整个项目是一个project
- Project中有很多的module
- module的类型可以有很多种,比如com.android.application是可以运行的应用程序、com.android.library是Android项目的library.
- Gradle的编译原则
- 每个project目录下放置两个重要的配置文件
- settings.gradle. 此文件是配置project中有的module定论的。有多个个module,路径是什么,叫什么名字
- build.gradle 此文件是配置gradle全局的一些设置,比如maven库的路径、
- 每个module目录下都有一个build.gradle
- 此文件会标记比如当前是什么类型(参见1.3)
- 签名混淆打多渠道包以及
- 包依赖
- 其它的gradle task
- 每个project目录下放置两个重要的配置文件
配置过程
在project中创建settings.gradle、build.gradle两个文件
- project中的settings.gradle中添加如下类型,对应为当前目录路径,其中用
:
分隔。下面代码中module0表示当前根目录中有一个module0,module1表示在根目录下aaa文件夹下bbb文件夹下的module1,根目录下ddd文件夹下的module2。
123include 'module0'include 'aaa:bbb:module1'include 'ddd:module2'- project中的settings.gradle中添加如下类型,对应为当前目录路径,其中用
2. build.gradle中填入如下
123456789101112131415161718192021222324
buildscript { repositories { mavenLocal() maven { url "http://your own maven url" } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' }}allprojects { repositories { mavenLocal() maven { url "http://your own maven url" } jcenter() }}
2. 在module中添加build.gradle文件,这里可以配置以下内容设置文件夹:
12345678910
sourceSets { main { java.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jni.srcDirs = ['jni'] jniLibs.srcDirs = ['libs'] manifest.srcFile 'AndroidManifest.xml' } }
- 其它
- AndroidManifest.xml的合并
- 资源文件的合并
- lint的检查
- mutilDex
- uploadTask
- 依赖文件的添加
- 未完待续
Q&A
|
|
|
|