zoukankan      html  css  js  c++  java
  • 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 或者直接扫码

  • 相关阅读:
    编写你的应用程序(二)、原生客户端模块
    编写你的应用程序(一)、应用结构
    checkpoint机制,show engine innodb status
    InnoDB关键特性,innodb_old_blocks_time,锁,内存管理,latch争用
    Innodb引擎,MySQL修改参数
    MySQL数据库体系结构
    IT行业数据库分析
    生成一个千万行的表
    范式小知识
    MySQL触发器
  • 原文地址:https://www.cnblogs.com/songjianzaina/p/10390538.html
Copyright © 2011-2022 走看看