【错误记录】Tinker 热修复示例运行报错 ( Execution failed for task ‘:app:tinkerProcessD‘ . tinkerId is not set!!! )
文章目录
- 一、报错信息
- 二、问题分析
- 三、解决方案
- 1、解决方案 1
- 2、解决方案 2
一、报错信息
运行 tinker 官方示例 https://github.com/Tencent/tinker/tree/dev/tinker-sample-android , 编译时 , 报如下错误 ;
FAILURE: Build failed with an exception.* What went wrong:
Execution failed for task ':app:tinkerProcessDebugManifest'.
> tinkerId is not set!!!* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 8s
9 actionable tasks: 9 executed
二、问题分析
需要阅读 Gradle 脚本 , 分析报错原因 ;
仔细阅读 build.gradle 构建脚本 , 配置 TINKER_ID 的代码如下 ,
buildConfigField "String", "TINKER_ID", "\"${getTinkerIdValue()}\""
通过 getTinkerIdValue 方法 , 获取 TINKER_ID , 在 getTinkerIdValue 方法中会查询是否有 TINKER_ID 属性 , 或者调用 gitSha 方法获取 TINKER_ID 参数 ;
def getTinkerIdValue() {return hasProperty("TINKER_ID") ? TINKER_ID : gitSha()
}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'")}
}
因此这里有两种方式设置 TINKER_ID ,
- 在 gradle.properties 配置中 , 设置 TINKER_ID 参数 ;
- gitSha 方法返回非空字符串 ;
三、解决方案
1、解决方案 1
在 gradle.properties 配置中 , 设置 TINKER_ID 参数 ,
TINKER_ID=1.0
TINKER_ENABLE=true
2、解决方案 2
修改 https://github.com/Tencent/tinker/blob/dev/tinker-sample-android/app/build.gradle 构建脚本代码 , 使 gitSha 方法返回非空字符串 ;
def gitSha() {try {String gitRev = "1.0"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'")}
}
【错误记录】Tinker 热修复示例运行报错 ( Execution failed for task ‘:app:tinkerProcessD‘ . tinkerId is not set!!! )相关推荐
- 【错误记录】Tinker 热修复示例运行报错 ( patch receive fail: /storage/emulated/0/patch_signed_7zip.apk, code: -2)
文章目录 一.报错信息 二.解决方案 参考 [Android 热修复]运行 Tinker 官方示例 博客 ; 一.报错信息 Tinker 热修复中 , 将生成的 patch 包 app-debug-p ...
- .9图片报错Execution failed for task ':app:mergeDebugResources'. Crunching Cruncher scrollbar_thumb.9.p
adt项目导入android studio后报错: Error:Execution failed for task ':app:mergeDebugResources'. > Crunching ...
- 【错误记录】Android Studio 编译报错 ( Execution failed for task ‘:APP_MIDI:lintVitalRelease‘. )
文章目录 一.报错信息 二.解决方案 方案一 方案二 一.报错信息 编译 Android 应用时 , 报如下错误 : Execution failed for task ':app:lintVital ...
- 【错误记录】Groovy 报错 ( Execution failed for task ‘:compileGroovy‘. > org/apache/tools/ant/taskdefs/Java )
文章目录 一.报错信息 二.问题分析 三.解决方案 一.报错信息 编译 Groovy 代码时 , 报如下错误 , 该错误不是代码错误 , 而是 Groovy 工程的环境配置错误 ; 相同的环境 , 昨 ...
- 安卓中运行报错Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决
在androidstuio中运行我的未完项目,报错: Error:Execution failed for task ':app:transformClassesWithDexForDebug'. & ...
- 解决React Native安装应用到真机(红米3S)报Execution failed for task ':app:installDebug'的错误...
报错信息如下: :app:installDebug Installing APK 'app-debug.apk' on 'Redmi 3S - 6.0.1' Unable to install D:\ ...
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录
3个错误non-zero exit value 1: non-zero exit value 2: non-zero exit value 3(一下方法亲测好用) Error:Execution fa ...
- 【React Native错误集】* What went wrong: Execution failed for task ':app:installDebug'.
错误1:* What went wrong: Execution failed for task ':app:installDebug'. > com.android.builder.testi ...
- AndroidStudio编译报错org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:proces
AndroidStudio编译报错 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:proce ...
最新文章
- T-SQL 编码标准
- Java线程总结(转)
- KNN算法与线性分类器
- VTK:相互作用之RubberBandPick
- java十年技术栈[总结复习用]
- Linux主流架构运维工作简单剖析
- 电脑动态壁纸_每日壁纸—水彩插画少女动漫手机高清无水印壁纸第二波
- linux查看mysql表空间使用率_Oracle查看数据库表空间使用情况sql语句
- 基于阿里云MaxCompute实现游戏数据运营
- linux解压覆盖命令
- linux mii,Linux mii-tool 命令用法详解-Linux命令大全(手册)
- 2022-强烈推荐的7款浏览器插件
- c语言程序调试时无法启动程序,编译没有异常,调试时报错: 无法启动程序“C:Projects\Driver\mydriver_check\HelloDDk.sys...
- java解析魔兽争霸3录像_Java解析魔兽争霸3录像W3G文件(五):Action和APM计算
- Pulling without specifying how to reconcile divergent branches is discouraged.
- vs2019配置OpenGL教程
- 130多个免费接口全部开放,涵盖天气数据、环境数据、旅游景点数据、位置数据、雷达、云图等等,可在线直接提供服务,免费的服务接口
- 微信小程序关于map地图
- 微信小程序云开发 把时间戳转换成正常的时间格式上传到数据库中
- Mysql全站最全笔记,从入门到资深!
热门文章
- ocp 042 第七章:管理方案对象
- [RN] 全国城市列表选择 (包含定位城市、热门城市、全国城市)
- C#串口通信学习笔记
- dispatch_async 与 dispatch_get_global_queue
- iOS 合并.a文件,制作通用静态库
- 多个Storyboard切换
- IE提示“存储空间不足,无法完成此操作”的错误
- Selenium3+python自动化008-操作浏览器基本方法
- bzoj1816: [Cqoi2010]扑克牌
- 36)PHP,搜寻数据库信息在html中显示(晋级1)