Andorid Studio 模块化开发相关配置

Andorid Studio 模块化开发相关配置

下面以宿主APP模块和Uer_Module模块为例:

第一步:在项目根目录gradle.properties配置文件中添加如下代码

isNeedUserModule=true
#isNeedUserModule=false

第二步 在user_module中的build.gradle文件中加入了如下代码来控制此库是library还是APP:

if (!isNeedUserModule.toBoolean()) {
apply plugin: ‘com.android.application‘
} else {
apply plugin: ‘com.android.library‘
}

第三步 在user_module中的build.gradle文件中加入了如下代码来指定AndroidManifest.xml文件路径:

android{
 sourceSets {
    main {
        if (!isNeedUserModule.toBoolean()) {
            manifest.srcFile ‘src/main/app/AndroidManifest.xml‘
        } else {
            manifest.srcFile ‘src/main/module/AndroidManifest.xml‘
        }
    }

}
}

其中 app中的AndroidManifest 内容如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.finddreams.module_user">

<application>
    <activity
        android:name=".LoginActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

?module目录下的AndroidManifest 如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.finddreams.module_user" >
<application>
    <activity android:name=".LoginActivity"></activity>
</application>

</manifest>

第四步 在user_module中的build.gradle文件中加入了如下代码来为该模块的下的资源自动添加前缀 避免模块之间资源命名重复:

resourcePrefix "module_user"

第五步 在宿主app中的build.gradle文件中加入了如下代码来动态引入user_module模块

  if (isNeedUserModule.toBoolean()) {
compile project(‘:user_module‘)
}

第六步 配置页面跳转路由

目前成熟的开源路由框架有:

美团的WMRouter

阿里的ARouter

可参考:《阿里路由框架ARouter的使用步骤》

关于我

私人博客

技术微信公众号:infree6 或者直接扫码

原文地址:https://www.cnblogs.com/songjianzaina/p/10390538.html

时间: 2024-11-09 14:28:57

Andorid Studio 模块化开发相关配置的相关文章

Visual studio 通用开发环境配置:SDL,FFMPEG为例

引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库目录(lib) 配置库文件的动态链接库(dll),这一步是很多人容易忽略的.上面配置好包含目录和库目录,只是开发环境配置完成了,没有配置好dll,在使用该库的程序运行时,会造成操作系统无法加载库对应的动态链接库.下面以SDL的配置为例,详细说明是如何配置的. SDL在visual studio下的开

OpenGL超级宝典visual studio 2013开发环境配置,GLTools

做三维重建需要用到OpenGL,开始看<OpenGL超级宝典>,新手第一步配置环境就折腾了一天,记录下环境的配置过程. <超级宝典>中的例子使用了GLEW,freeglut以及作者自己开发的GLTools这三个库. 1.GLEW The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides effi

Visual Studio OpenCV 开发环境配置

因为VS配置OpenCV好多新手都很难一次配置成功,而且OpenCV库每新建一个项目都要配置很是麻烦,所以今天就给大家介绍一个“一劳永逸”的方法. 注:理论上只要VS和OpenCV是版本兼容的,该方法都起作用.如果不能成功,请记得将OpenCV安装目录添加到系统路径. 时间仓促.水平有限......欢迎指正! VS和OpenCV安装 说重点,鄙人VS安装到D:\Program Files\Microsoft Visual Studio 10.0(你们随意).OpenCV安装到:D:\opencv

【Windows10&nbsp;IoT开发系列】PowerShell的相关配置

原文:[Windows10 IoT开发系列]PowerShell的相关配置 可使用 Windows PowerShell 远程配置和管理任何 Windows 10 IoT 核心版设备.PowerShell 是基于任务的命令行 Shell 和脚本语言,专为进行系统管理而设计. 1.​启动 PowerShell (PS) 会话 注:若要使用装有Windows10 IoT Core设备启动PS会话,首先需要在主机电脑与设备之间创建信任关系. ​启动 Windows IoT 核心版设备后,与该设备相连的

C#开发技巧之1—Visual Studio 2008开发环境的配置

开发环境的正确配置是每一位程序猿开始编程之旅的第一步,每位亲都有自己的专长,如Windows应用开发或Web网站开发等,安装完软件后我们急需配置一个自己的开发环境. 下面我们就开始我们的编程之旅吧,配置的具体过程如下: 1.如果是第一次运行Visual Studio 2008,会弹出“选择默认环境设置”对话框,大家在这个对话框中可以自由选择一款适合自己的开发环境设置,选择完成后,单击“退出Visual Studio”. 2.如果大家不是第一次运行Visual Studio 2008的开发环境,也

模块化开发RequireJS之shim配置

一.shim requirejs使用AMD规范开发,若开发过程中加载非AMD规范js,需要使用requirejs的shim进行配置. shim配置语法为: //配置文件 requirejs.config({ baseUrl: 'js', //默认是main.js所在的文件夹为基准. paths: { jquery: 'jquery-1.12.4.min' //起个别名 }, //关键配置 shim: { //配置方式一:jQuery.CateNav为模块名称,jquery为依赖的js模块 //'

太阳能开发环境配置:VS2008以及相关插件安装

太阳能开发环境配置(二) 主要包括以下内容 [x] 1. Visual Studio 2008 安装 [x] 2. VS2008 SP1补丁安装 [x] 3. National Instruments(NI)安装与激活 [x] 4. Chart安装 [x] 5. VAX辅助控件安装 1. Visual Studio 2008 安装 找到Visual Studio 2008安装文件夹,双击setup.exe 进入安装界面,点击安装Visual Studio 2008. 安装完后-->安装MSDN帮

PHP面试 PHP基础知识 十一(开发环境及相关配置)

开发环境及相关配置 版本控制软件 集中式和分布式 集中式:集中式版本控制工具,版本库集中存放在中央服务器,团队成员里的每个人工作时从中央服务器下载代码,个人修改后再提交到中央服务器 分布式:分布式版本控制工具,没有中央服务器,每个开发人员都通过clone,在本地拷贝一个完整的仓库. Git 与 Svn Svn的特点(集中式) 1.每个版本库有唯一的URL,每个用户都从这个地址获取代码和数据 2.获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据 3.提交必须有网络连接(非本地版本库

借助Gradle Plugin解决模块化开发中模块如何对外暴露接口

直奔主题,在模块化开发中,模块间的数据交流大多数同学会采用以接口作为通信协议的方式.需要面对的问题有以下几点: 接口由谁来维护?这个问题简单,由提供服务的模块来维护.接口怎么暴露?打成jar包,发布到maven.接口在哪里维护?现在可以参考的方案有三种:一. 所有相关模块的接口统一在一个模块中维护:二. 各个模块的接口分别在自建一个新的模块中维护,通过命名规则一一对应:三. 像微信的.api方案,使用特殊的规则混杂在各自的模块中. 如果接着第一个问题,方案一好像就有点难确定接口对应的来源模块.方