admin 管理员组

文章数量: 887021


2024年1月6日发(作者:js createelement)

Android Studio 项目结构

Android Studio 的一个 project (项目)下可以包含多个独立的 module(模块),图中

Bugtags-Android-Demo 便是一个项目,app 便是一个 module。结构如下。

project/:项目的 文件,主要是全局的远程库配置、gradle 插件版本等信息

project/app:名字为 app 的模块

project/:模块的 文件,是最关键的配置文件,后续会有文章继续专门介绍 gradle build system

project/app/src:源码文件夹

project/app/src/java:放置代码文件

project/app/src/jniLibs:默认的.so 库放置的位置,可以在模块的 中通过s 值来修改所在位置

project/app/libs:放置 .jar 库

与gradle相关的文件:

ties:

从名字上就知道它是一个配置文件,没错,这里面可以定义一些常量供使用,比如可以配置签名相关信息如keystore位置,密码,keyalias等。

这个文件是用来配置多模块的,比如你的项目有两个模块module-a,module-b,那么你就需要在这个文件中进行配置,格式如下:

1 include ':module-a',':module-b'

文件夹:

这里面有两个文件,和ties,它们就是gradle

wrapper。gradle项目都会有,你可以通过命令gradle init来创建它们(前提是本地安装了gradle并且配置到了环境变量中)。

w和:

这分别是linux下的shell脚本和windows下的批处理文件,它们的作用是根据ties文件中的distributionUrl下载对应的gradle版本。这样就可以保证在不同的环境下构建时都是使用的统一版本的gradle,即使该环境没有安装gradle也可以,因为gradle wrapper会自动下载对应的gradle版本。

gradlew的用法跟gradle一模一样,比如执行构建gradle build命令,你可以用gradlew

build。gradlew即gradle wrapper的缩写。

1.导入本地jar包:

跟eclipse不太一样,android studio导入本地jar除了将jar包放到模块的libs目录中以外,还得在该模块的中进行配置,配置方式是在dependencies结点下进行如下声明:

1 compile files('libs/')

如果libs下有多个jar文件,可以这样声明:

1 compile fileTree(dir: 'libs', include: ['*.jar'])

2.导入maven库:

1 compile 't:appcompat-v7:21.0.3'

可见,格式为

1 compile 'groupId:artifactId:version'

3.导入某个project:

你的app是多模块的,假设有两个模块app和module-A,并且app模块是依赖module-A的,这时候我们就需要在app模块的中的dependencies结点下配置依赖:

1 compile project(':module-A')

并且你需要在中把module-A模块包含进来:

1 include ':module-A',':app'

此外,这种情况下module-A模块是作为库存在的,因而它的中的插件声明通常应该是这样的:

1 apply plugin: 'y'

而且,作为library的模块module-A的文件的defaultConfig中是不允许声明applicationId的,这点需要注意。


本文标签: 配置 模块 文件 比如 进行