自用的一份Tinker 热更新脚本
Tinker热更新流程不在本文叙述,可查阅官方文档
def bakPath = file("${buildDir}/../tinkerBakApk/")
def patchPath = file("${buildDir}/../tinkerPatch/")
//def oldApkSubDir = "app-0317-14-54-00"
**
* 对于插件各参数的详细解析请参考,如果没有特殊需求下面的参数都可以不用更改;
* 如果apk需要加固等可以参考具体描述设置参数
*/
tinkerSupport {
enable = true
ignoreWarning = true
autoBackupApkDir = "${bakPath}" // 指定归档目录,默认值当前module的子目录tinker
patchOutputDir= "${patchPath}"
// 建议设置true,用户就不用再自己管理tinkerId的命名,
// 插件会为每一次构建的base包自动生成唯一的tinkerId,
// 默认命名规则是versionName.versionCode时间戳
autoGenerateTinkerId = true
overrideTinkerPatchConfiguration = true // 开启后tinkerPatch配置不生效,即无需添加tinkerPatc
enableProxyApplication = false
supportHotplugComponent = true
/**
* 生成热补丁时修改以下4项值.
* 1、tinkerId可以查看基准包的Manifest.xml <meta-data>TINKER_ID</meta-data>
* 2、baseApk 生成基准包的路径,修改 oldApkSubDir 值
* 3、生成基准包的混淆文件,最好写入,可以降低生成补丁体积
* 4、生成基准包的资源文件,最好写入,可以降低生成补丁体积
* 5、写完后点击IDE右侧Gradle-HawkEye-app-tinker-tinkerPatchRelease, 补丁包路径:${patchPath}/patch_signed_7zip.apk
* 6、上传Bugly平台
*/
// tinkerId = "2.13.15._0317-14-54-00"
// baseApk = "${bakPath}/${oldApkSubDir}/name-release-2.13.15.apk" // ${bakPath}/app-1122-09-10-34/hawkeye-release-2.13.7.apk
// baseApkResourceMapping = "${bakPath}/${oldApkSubDir}/app-release-R.txt" // ${bakPath}/app-1122-09-10-34/app-release-R.txt
// baseApkProguardMapping = "${bakPath}/${oldApkSubDir}/app-release-mapping.txt" // ${bakPath}/app-1122-09-10-34/app-release-mapping.txt
}