Andorid Studio 模块化开发相关配置
Andorid Studio 模块化开发相关配置
下面以宿主APP模块和Uer_Module模块为例:
第一步:在项目根目录gradle.properties配置文件中添加如下代码
isNeedUserModule=true<br/> #isNeedUserModule=false
第二步 在user_module中的build.gradle文件中加入了如下代码来控制此库是library还是APP:
if (!isNeedUserModule.toBoolean()) {<br/>
apply plugin: 'com.android.application'<br/>
} else {<br/>
apply plugin: 'com.android.library'<br/>
}
第三步 在user_module中的build.gradle文件中加入了如下代码来指定AndroidManifest.xml文件路径:
android{<br/>
sourceSets {<br/>
main {<br/>
if (!isNeedUserModule.toBoolean()) {<br/>
manifest.srcFile 'src/main/app/AndroidManifest.xml'<br/>
} else {<br/>
manifest.srcFile 'src/main/module/AndroidManifest.xml'<br/>
}<br/>
}
}<br/>
}
其中 app中的AndroidManifest 内容如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"<br/>
package="com.finddreams.module_user">
<application><br/>
<activity<br/>
android:name=".LoginActivity"<br/>
android:label="@string/app_name"<br/>
android:theme="@style/AppTheme"><br/>
<intent-filter><br/>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /><br/>
</intent-filter><br/>
</activity><br/>
</application>
module目录下的AndroidManifest 如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"<br/>
package="com.finddreams.module_user" ><br/>
<application><br/>
<activity android:name=".LoginActivity"></activity><br/>
</application>
</manifest>
第四步 在user_module中的build.gradle文件中加入了如下代码来为该模块的下的资源自动添加前缀 避免模块之间资源命名重复:
resourcePrefix "module_user"
第五步 在宿主app中的build.gradle文件中加入了如下代码来动态引入user_module模块
if (isNeedUserModule.toBoolean()) {<br/>
compile project(':user_module')<br/>
}
第六步 配置页面跳转路由
目前成熟的开源路由框架有:
美团的WMRouter
阿里的ARouter
关于我
技术微信公众号:infree6 或者直接扫码
