1. 概述
这部分内容主要介绍,如何基于 AAF 的整体框架,进行新应用的开发。由于AAF 对于Android的构建方式做了一定范围的重构与定制。为了更贴近实际开发的场景,这里提供两种开发模式的使用事例:
基于 AAF 构建模式
基于通用Android项目构建模式
两种使用方法是一致的,只是配置会有细微差距。所有事例都基于AndroidAppFactory-Sample 来介绍
2. 基于 AAF 构建模式
新建空目录
mkdir ./
复制 AndroidAppFactory-Sample 的所有内容到当前目录
cp -fr ~/zixie/github/AndroidAppFactory-Sample/ ./
删除除 APPTest 和 Application 以外的所有模块(也就是所有Base 开头和Pub 开头的项目)及 Git 信息
ls | grep Base | xargs -I {} rm -fr ./{} ls | grep Pub | xargs -I {} rm -fr ./{} rm -fr .git rm -fr demo
修改 dependencies.gradle
修改dependencies.gradle,仅保留 APPTest 和 Application 的配置
ext.moduleInfo 仅保留 APPTest 和 Application的配置
ext.mainProject = "APPTest"
ext.developModule = "Application"
修改后的dependencies.gradle 如下:
apply from: rootDir.toString() + '/config.gradle' def project = ext ext.mainProject = "APPTest" ext.developModule = "Application" ext.pubModuleIsApplication = true ext.includeALLDependOnDevelopModule = false ext.moduleVersionName = "3.6.5" ext.moduleInfo = [ "APPTest" : [ "apidependenciesList": ["", "Application", "BaseDebug" ] ], "Application" : [ "apidependenciesList" : [ "com.bihe0832.android:common-wrapper:${project.aaf_version}", ], "specialdependenciesList": [ "debugApi" : ["com.squareup.leakcanary:leakcanary-android:1.5.1"], "releaseApi": ["com.squareup.leakcanary:leakcanary-android-no-op:1.5.1"], "kapt": ["com.bihe0832.android:lib-router-compiler:5.1.7"] ] ] ]
运行项目
运行APPTest
3. 基于通用Android项目构建模式
新建 Android 工程,已有可以跳过
将 APPTest 和 Application 复制到项目根目录
在项目根目录
settings.gradle
添加APPTest 和 Application ,例如:
include ':Application'
include ':APPTest'
- 在 Application 的
build.gradle
中添加依赖:
dependencies {
api "com.bihe0832.android:common-wrapper:${project.aaf_version}"
}
- 在 APPTest 的
build.gradle
中添加依赖:
dependencies {
api project(':Application')
}
- 运行APPTest