Tinker 使用问题

使用官网的build.gradle(APP级别和工程级别)文件和自己的进行merger
可能的问题有:

  • tinker id not set
    这时候,在gradle.properties 文件中写入TINKER_ID = "yourId" 因为在app级别的build文件中有tinkerId = getTinkerIdValue()
def getTinkerIdValue() {
    return hasProperty("TINKER_ID") ? TINKER_ID : gitSha()
}

先检查gradle.properties 有没有TINKER_ID的参数,有就返回它否则就执行

def gitSha() {
    try {
        String gitRev = 'git rev-parse --short HEAD'.execute(null, project.rootDir).text.trim()
        if (gitRev == null) {
            throw new GradleException("can't get git rev, you should add git to system path or just input test value, such as 'testTinkerId'")
        }
        return gitRev
    } catch (Exception e) {
        throw new GradleException("can't get git rev, you should add git to system path or just input test value, such as 'testTinkerId'")
    }
}

我没有git 如果使用这个方法的话最后同步会失败,那我开始的解决方法是 在APP 的 build文件中直接写死tinkerId = "1.0",然后发现了可以在gradle.properties 设置,所以最后设置在了gradle.properties 中

  • 还有一个问题是,在写程序的时候,加载补丁之前一定要先代码检查所需要的权限,不然某些手机补丁会合成失败。一定一定要检查权限!!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。