android组件化怎么分包,android 组件化和模块化开发模式切换

一.名词解释java

模块化:模块是APP的组成部分,全部的模块组装起来即是一个完整的APPandroid

组件化:使模块可以单独运行为组件化app

二.模块化与组件化的差异模块化

(1) 类型不一样组件化

模块:com.android.libray测试

组件:com.android.applicationgradle

(2)有无applicationIdui

模块:无spa

组件:有debug

(3)有无启动页

模块:无

组件:有

三.代码实现

思想思路,经过一个变量进行他们之间的差别化处理

a.建立配置文件

在于项目级build.gradle同级下下建立config.gradle

ext {

//是否为模块模式.

// isModule=true 模块模式

//isModule=false 组件模式

isModule = false;

android = [

compileSdkVersion: 26,

buildToolsVersion: "26.0.2",

minSdkVersion : 19,

targetSdkVersion : 26,

versionCode : 1,

versionName : "1.0"

]//

//模块名称 添加你的模块,用于模块和组件切换

appId = [

"app" : "yourAPPId",

]

//其余配置

}

b.引用config.gradle

在项目级别的build.gradle引用

apply from: "config.gradle"

c.差别处理

在模块级别的build.gradle中使用isModule变量进行控制

def appId = rootProject.ext.appId

def android = rootProject.ext.android

if (isModule) {

apply plugin: 'com.android.library'

} else {

apply plugin: 'com.android.application'

}

android {

compileSdkVersion android.compileSdkVersion

buildToolsVersion android.buildToolsVersion

defaultConfig {

minSdkVersion android.minSdkVersion

targetSdkVersion android.targetSdkVersion

versionCode android.versionCode

versionName android.versionName

if (!isModule) {

applicationId appId["activerepair"]

multiDexEnabled true //分包配置

ndk { abiFilters "armeabi" }//ndk配置

signingConfigs {

debug {

//测试keystore配置

}

release {

//正式

storeFile file("key地址")

storePassword '密码'

keyAlias '名称'

keyPassword '密码'

}

}

}

sourceSets {

main {

if (isModule) {

manifest.srcFile 'src/main/AndroidManifest.xml'

} else {

//组件下特有的文件

manifest.srcFile 'src/main/assembly/AndroidManifest.xml' //配置启动Activity

java.srcDirs 'src/main/assembly/java', 'src/main/java' //模块化下不须要打包的文件

}

}

}

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

//your dependencies

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值