android怎么建多个模块,使用Android Studio新建Project并建立多个module

说明:本篇内容涉及如何在AS中新建一个Project(应用工作区)并在Project里创建多个Module(项目),记录了在创建Module时遇到的问题,比如新建一个Module后选择要运行的项目时,项目标有红色的叉叉导致无法运行。

Getting Start

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

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

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

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

1. New Project

"File-> New Project"

40675087_1.jpg

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

40675087_2.jpg

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

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

40675087_3.jpg

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

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

40675087_4.jpg

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

40675087_5.jpg

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

40675087_6.jpg

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

40675087_7.jpg

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

40675087_8.jpg

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

40675087_9.jpg

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

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

40675087_10.jpg

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

40675087_11.jpg

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

40675087_12.jpg

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

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

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

40675087_13.jpg

设置之后原先在“HelloChina”的红叉不见了,也可以点击运行按钮了,但是运行之后项目并没有启动成功,在logcat里打印出如下内容:

----------------------------------------Log------------------------------------------

Waiting for device.

Target device: htc-htc_t329d-HC2CBMM04272

Uploading file

local path: G:\five\ProjectCabin\MyWorkSpace\HelloChina\build\apk\HelloChina-defaultFlavor-debug-unaligned.apk

remote path: /data/local/tmp/com.aliao.hellochina

Installing com.aliao.hellochina

DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.aliao.hellochina"

pkg: /data/local/tmp/com.aliao.hellochina

Success

Launching application: com.aliao.hellochina/com.aliao.hellochina.MainActivity.

DEVICE SHELL COMMAND: am start -n "com.aliao.hellochina/com.aliao.hellochina.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.aliao.hellochina/.MainActivity }

java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.aliao.hellochina/.MainActivity } from null (pid=27937, uid=2000) not exported from uid 10046

at android.os.Parcel.readException(Parcel.java:1430)

at android.os.Parcel.readException(Parcel.java:1384)

at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1921)

at com.android.commands.am.Am.runStart(Am.java:463)

at com.android.commands.am.Am.run(Am.java:108)

at com.android.commands.am.Am.main(Am.java:81)

at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)

at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:257)

at dalvik.system.NativeStart.main(Native Method)

----------------------------------------Log------------------------------------------

百度知道后,打开了HelloChina项目的AndroidManifest.xml文件,发现:

40675087_14.jpg

MainActivity即默认启动的Activity竟然没有生成IntentFilter,含有如下设置的IntentFilter的Activity会被应用程序指定为程序的入口,即最先启动的Activity。

在里加上这段代码后,项目的红叉消失了,原先在"Run/Debug Configuration"配置窗口里的Activity配置部分,仍然勾选 “Launch default activity”选项。

注:之后新建的Module生成的Manifest文件里默认的Activity标签里都没有...,只能手动添加,不知道AS这么做的目的是什么。由于我用的AS版本是0.3.7,最新的AS已经到0.4.x了,不晓得这个东东在最新版的AS里会不会有,有待验证。

运行项目成功:

40675087_15.jpg

相关推荐

WRFDA如何读取风云四号A 星的GIIRS数据?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 974

Android Studio 导入/删除/新建库的模块(第三方项目) - Module

Module

彬sir哥的博客 4979

反光柱定位算法实战05:Cartographer Landmark融合定位——从原理到实战

本文介绍了CartographerLandmark融合定位方案,该方案将反光柱作为Landmark节点直接融入Cartographer后端优化框架,避免了传统双系统切换导致的位姿跳变问题。文章详细阐述了Landmark的核心原理、数据发布格式(包括ID、坐标、权重等关键字段)以及两种工作模式(图模式和导航模式)。特别指出组合反光柱作为Landmark可提供方向参考,有效解决镜像歧义问题。该方案通过统一优化框架实现稳定定位,尤其适用于缺乏自然特征的环境,但存在ID匹配不稳定等局限性。整体而言,Cartogr

Studying…… 397

java创出现module_Android Studio基本使用及创module

本文主要推荐给由Eclipse开发转向使用Android Studio(以下简称:AS)的开发者,介绍AS最基本以及最常用的功能,老司机请绕道哦O(∩_∩)O,以免耽误宝贵的时间。主要内容:(1)环境搭(2)新建项目(含Module)(3)代码混淆(4)常用调试功能及应用分析相关(5)打包APK一、环境搭(Windows)(1)安装JDK,下载地址,注意AS要求JDK7及更高版本,安装过程...

weixin_28737073的博客 1863

Android studio模块化之模块划分简易版

Android studio模块化之模块划分简易版

Eqiqi的博客 1605

使用Android Studio新建Project建立多个module

说明:本篇内容涉及如何在AS中新建一个Project(应用工作区)Project里创多个Module(项目),记录了在创Module时遇到的问题,比如新建一个Module后选择要运行的项目时,项目标有红色的叉叉导致无法运行。 Getting Start 在使用Android Studio(以下简称AS)新建项目时都会有这样一个概念: Eclipse中的WorkSpace相当于

Run Away 2万+

Android Studio projectmodule的区别

网上搜索得出以下结论: 1. Project相当于eclipse里面的工作区间,module相当于其project。AS里面的项目结构也可以像eclipse一样,一个project新建多个module。 刚开始不懂的时候,只知道新建项目,然后学习,看到其他英文一撇而过,能不用就不用,毕竟满屏英文,头都大了。切换app的时候,就会先打开一个app,然后再AS中打开另一个app,运行两个AS,太蠢

barca_chn的专栏 1万+

使用AndroidSdudio新建多个module

由于是刚使用AndroidSdudio不久,对于它的使用方法还是比较陌生,也会出现各种各样的问题,对于使用惯Eclipse的开发者,初次使用来说都会是一件比较头疼的事。 于是我就各种百度搜索,下面写出几点掌握的内容分享一下。 在使用Android Studio(以下简称AS)新建项目时都会有这样一个概念: Eclipse中的WorkSpace相当于AS中的Project; Eclips

Mike_zdy的博客 1065

android studio moudel,Android Studio中的Module是指什么?

Android Studio中的Module 相当于Eclipse 中的library在使用Android Studio(以下简称AS)新建项目时都会有这样一个概念:Eclipse中的WorkSpace相当于AS中的Project;Eclipse中的Project相当于AS中的Module(只就新建而言)。所以Eclipse中在一个WorkSpace中建立多个Project 等同于在AS的Pro...

weixin_33785291的博客 2385

android studio中,projectmodule的目录结构

android studio中,代码工程的组织结构是:project + module,跟以往的eclipse是有区别的。那么,projectmodule下分别包含了哪些文件呢?其中,又有哪些是需要加入代码管理仓库进行管理的呢?哪些是在android studio导入工程的时候,编译过程中生成的中间文件呢?下面就分别对project目录和module目录进行详细的分析。 注:YES -- 该目录需要纳入代码仓库管理;NO -- 该目录不需要纳入代码仓库管理 1、module目录结构 module.

daxiao47的博客 1931

引用其他projectmodule,根据参数自动配置依赖,repo管理多个 Project

前言 在开发中遇到这样一个问题,在工作的project(以下简称Project A)中,用到了Fragmentation(以下简称Project B) 库的三个module,这个库是我在维护,平时更改库中的一些bug,需要先使用一段时间,再推到github,发布到jcenter, 所以在我的工作项目中,是直接使用本地的代码,没有使用jcenter去引用它。 这就遇到一个问题,在Project A 中改完 Project B的三个module,在等到发布的时候,就需要手动把代码拷贝一份到Project

薛瑄的博客 1847

Android studio 修改项目Project名称、修改模块Module名字

不可行 右键project 的名字,refactor - rename ,填写好新名字后修改,被提示 “can’t rename root module” 因为Android Studio只能修改根目录内的所有文件,要改project根目录名字,只能关闭Android Studio 先在操作系统中修改文件夹名字。 可行 1.打开项目所在的文件夹 2.重命名文件夹的名称为myvideo 3.进入文件...

张雨的博客 3471

Android Studio中关于ProjectModule

Android Studio中一个Project和Eclipse中的WorkSpace是相似的,而一个Module与Eclipse中的Project是相似的(大致可以这么的认为) 若在Android Studio中的一个Project(工作空间)中Import/New 1:N个Module,单个的Module直接在运行的时候选择合适的Module则会运行那个项目; 若在同一个Pr...

dieweinai9698的博客 180

Android Studio新建项目

项目 首先,先指出Android Studio中的两个概念。 Project 和 Module 。在Android Studio中, Project 的真实含义是工作空间, Module 为一个具体的项目。 在 Eclipse 中,我们可以同时对多个 Eclipse 的 Project 进行同时编辑,这些 Project 在同一个 workspace 之中。在Android S

HHXUN的博客 1668

打开多个android studio,如何在Android studio中同时打开多个工程

使用Module下 面介绍来自android学习手册,里面有源码。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳AndroidStudio中的Module 相当于Eclipse 中的library在使用AndroidS...

weixin_42405368的博客 1225

Android Studio中的ProjectModule是个什么鬼?

之前一直使用Eclipse开发Android,觉得用的非常顺手,为了顺应时代的潮流,最近换成了Android Studio.AS刚刚使用,遇到不少问题。比如新建ProjectModule的问题。       在Eclipse的一个Workspace工作空间中,开发者可以新建多个Android项目,如图所示: 。其中每一个项目都是相互独立的,彼此不会造成任何影响。这每一个项目就是Project

乞力马扎罗的雪CYF的博客 9668

基于STM32的车内环境检测和儿童滞留报警系统 .zip

文件包含:开题报告word+电路原理图+sql文件+硬件演示视频+APP演示视频

上一篇: android了解和使用JSON格式,Android中JSON的理解与实例
下一篇: 猜数游戏android源代码,Android 开发入门篇
weixin_39642619
博客等级 码龄9年 39粉丝 148原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值