手动组件化

手动组件化步骤

  1. 新建module
  2. 配置清单文件
  3. 在gradle.properties文件中设置每个Module是否需要单独编译的变量
  4. 配置每个module的build.gradle文件
  5. 在主module中根据每个module都有的布尔值变量来导入依赖
  6. 大功告成!!!
  7. 新建module
  8. 配置清单文件
    复制两个清单文件放在不同的文夹下 一个作为Application使用的A清单文件 一个作为library使用B清单文件

A清单文件:

package="com.example.module">


    
        
            

            
        
    

B清单文件:

package="com.example.module">


    


  1. 在gradle.properties文件中设置每个Module是否需要单独编译的变量

是否需要单独编译 true表示需要,false表示不需要

isMoudel=false

isMoudel=true

  1. 配置每个module的build.gradle文件
    根据刚才的每个module都有的布尔值变量来设置是application还是library
    将第一句 --> apply plugin: 'com.android.application'
    改成 -->
    if (isMoudel.toBoolean()) {
    apply plugin: 'com.android.application'
    } else {
    apply plugin: 'com.android.library'
    }
    同理在下面defaultConfig中设置applicationId和清单文件
    将 -->
    defaultConfig {
    applicationId "com.example.module"
    minSdkVersion 22
    targetSdkVersion 29
    versionCode 1
    versionName "1.0"

     testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    

    }

    改成 -->
    defaultConfig {
    //applicationId "com.example.module"
    if (isMoudel.toBoolean()) {
    applicationId "com.example.module"
    }
    sourceSets {
    main {
    if (isMoudel.toBoolean()) {
    manifest.srcFile 'src/main/debug/AndroidManifest.xml'
    } else {
    manifest.srcFile 'src/main/release/AndroidManifest.xml'

             }
         }
     }
     minSdkVersion 22
     targetSdkVersion 29
     versionCode 1
     versionName "1.0"
    
     testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    

    }

  2. 在主module中根据每个module都有的布尔值变量来导入依赖
    if(isMoudel.toBoolean()){
    implementation project (':app')
    }

  3. 大功告成!!!

你可能感兴趣的:(手动组件化)