Android Studio中的Module是指什么

2024-12-04 19:32:37
推荐回答(3个)
回答1:

  Android Studio中的Module 相当于Eclipse 中的library

  在使用Android Studio(以下简称AS)新建项目时都会有这样一个概念:

  Eclipse中的WorkSpace相当于AS中的Project;

  Eclipse中的Project相当于AS中的Module(只就新建而言)。

  所以Eclipse中在一个WorkSpace中建立多个Project 等同于 在AS的Project中建立多个Module。


  1. New Project

  "File-> New Project"

  弹出以下新建项目向导窗口:

  Module Name是Project中的第一个Module的名字。

  Minimum required SDK用来选择应用支持的最低的Android版本,底部的Support Mode会随着所能够支持的最小SDK的选择而变化,如下图所示,选择Android 3.0,底部的Fragment等选项自动消失:


  因为在Android3.0及之后,其SDK已经开始支持Fragment。如果是Android 3.0之前的版本需要使用到Fragment的话,勾选了底部Support Mode的Fragment就会为低版本的sdk提供相应的支持Fragment的库文件。

  一路“Next”之后,设置默认的Activity及其生成的布局文件:


  点击“Finish”完成项目的创建,项目新建完成后,项目结构如下图所示:

  2. New Module

  “HelloWorld”是Project中的第一个创建的Module,再创建一个新的Module选择“File -> New Module”后弹出:

  在弹出的New Module向导对话框选择“Android Application”,点击“Next”后:

  新建的Module命名为“HelloChina”,一路“Next”,在以下窗口中选择“Blank Activity”空白的Activity

  上述操作完后进入Module的启动Activity的设置:


  可以看到Layout Name中默认显示activity_main2,因为第一个Module中已经生成了activity_main.xml(觉得这里不是很方便,每个Module新建时默认的Activity可以同名但是其对应的布局文件命名不能同名,对于不同的项目而言这种限制不是很爽)。Navigation Type可以选择导航类型,右边的视图会相应显示布局效果。

  点击“Finish”完成Module的创建,创建后的工程结构如下图:


  3. Run Module

  接下来我们来运行新建的项目(这里所说的项目指的是Module),在AS顶部的工具栏里选择要运行的项目,从下图可以看到项目"HelloChina"上标了红叉:

  点击“Edit Configurations”去看看哪里出问题

  错误指出是找不到默认的Activity(我们在Activity模块里看到勾选的是启动默认Activity)

  但是在项目中已经生成了默认的Activity了即MainActivity,为什么还会找不到呢?

  起初遇到该问题时以为是除了第一次随新建Project时创建的Module之外,之后再创建的Module都要手动在配置里设置默认启动的Activity,于是乎我就手动设置了默认Activity指定了“HelloChina”项目的默认启动Activity——MainActivity 

回答2:

在eclipse中一个依赖库就叫一个library 使用android提供的v7包,在Android studio中依赖库已经叫Module了,其实就是一个library,由于android studio中是用grable来构建项目的,所以目录结构和叫法也不一样。
Android Studio Module源代码关联方式:
1.打开菜单File ->Project Structure (或者按F4)。
2.在左边列表中选择Modules。
3.选择工程,然后在第三个标签页页找到Dependencies。
4.按“+”按钮,在弹出窗口中选择android-support-v4.jar所在文件夹(在SDK目录下),然后确认即可。

回答3:

这个module 可以是指 依赖包, 也可能是单独的一个目录 , 这样说吧studio 中的 project 就相当于一个eclipse 中 workplace , module 可以是eclipse 中的project , 也可以是依赖包。