引入 Tinker 热更新方案遇到的问题

1、每次 Run 都会生成一个 bakApk

问题:

引入 Tinker 热更新方案后,每次 Run 都会生成一个 bakApk,如果每天要调试很多地方,那么 build/bakApk 下,会生成N个对应的 bakApk 文件夹,最终会使整个项目文件容量暴增…(博主还怀疑,这样会造成 AndroidStudio 编译速度的延缓,但未测试过)

解决:
通过阅读官方的技术文档,始终没有发现有对这个情况的相关配置项,所以只能从别处下手,最后发现,通过在 app module 的 “build.gradle” 文件中,注释掉依赖插件脚本,最终解决掉这个问题:

说两句:
目前运行调试一切正常,不过要始终留意后续是否会出现问题;重要的一点是,当要打包新版本时,一定要解开这个注释。

2、can’t the get signConfig for this build

问题:
执行 buildTinkerPatchRelease 打 Release 版本补丁包时报以下错误:

Error:Execution failed for task ':app:tinkerPatchRelease'.
> can't the get signConfig for this build


解决:

android {
    ...
    // 签名配置【buildTypes中调用了signingConfigs,则signingConfigs{}要置于buildTypes{}前面】
    signingConfigs {
        release {
            try {
                storeFile file("MyProject.jks")
                storePassword "111111"
                keyAlias "zhangzeqiao"
                keyPassword "111111"
            } catch (ex) {
                throw new InvalidUserDataException(ex.toString())
            }
        }
    }

    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
        debug {
            ...
            signingConfig signingConfigs.release
        }
    }
    ...
}

其中要特别注意,signingConfigs{} 方法体要置于 buildTypes{} 方法体前面,不然会报以下错误:

Error:(30, 0) Could not get unknown property 'release' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer.

再者,storeFile file(“MyProject.jks”) 中的签名文件,与 build.gradle 在同一目录下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值