文章目录

  • 一、报错信息
  • 二、问题分析
  • 三、解决方案
    • 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!!! )相关推荐

  1. 【错误记录】Tinker 热修复示例运行报错 ( patch receive fail: /storage/emulated/0/patch_signed_7zip.apk, code: -2)

    文章目录 一.报错信息 二.解决方案 参考 [Android 热修复]运行 Tinker 官方示例 博客 ; 一.报错信息 Tinker 热修复中 , 将生成的 patch 包 app-debug-p ...

  2. .9图片报错Execution failed for task ':app:mergeDebugResources'. Crunching Cruncher scrollbar_thumb.9.p

    adt项目导入android studio后报错: Error:Execution failed for task ':app:mergeDebugResources'. > Crunching ...

  3. 【错误记录】Android Studio 编译报错 ( Execution failed for task ‘:APP_MIDI:lintVitalRelease‘. )

    文章目录 一.报错信息 二.解决方案 方案一 方案二 一.报错信息 编译 Android 应用时 , 报如下错误 : Execution failed for task ':app:lintVital ...

  4. 【错误记录】Groovy 报错 ( Execution failed for task ‘:compileGroovy‘. > org/apache/tools/ant/taskdefs/Java )

    文章目录 一.报错信息 二.问题分析 三.解决方案 一.报错信息 编译 Groovy 代码时 , 报如下错误 , 该错误不是代码错误 , 而是 Groovy 工程的环境配置错误 ; 相同的环境 , 昨 ...

  5. 安卓中运行报错Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决

    在androidstuio中运行我的未完项目,报错: Error:Execution failed for task ':app:transformClassesWithDexForDebug'. & ...

  6. 解决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:\ ...

  7. 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 ...

  8. 【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 ...

  9. AndroidStudio编译报错org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:proces

    AndroidStudio编译报错 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:proce ...

最新文章

  1. T-SQL 编码标准
  2. Java线程总结(转)
  3. KNN算法与线性分类器
  4. VTK:相互作用之RubberBandPick
  5. java十年技术栈[总结复习用]
  6. Linux主流架构运维工作简单剖析
  7. 电脑动态壁纸_每日壁纸—水彩插画少女动漫手机高清无水印壁纸第二波
  8. linux查看mysql表空间使用率_Oracle查看数据库表空间使用情况sql语句
  9. 基于阿里云MaxCompute实现游戏数据运营
  10. linux解压覆盖命令
  11. linux mii,Linux mii-tool 命令用法详解-Linux命令大全(手册)
  12. 2022-强烈推荐的7款浏览器插件
  13. c语言程序调试时无法启动程序,编译没有异常,调试时报错: 无法启动程序“C:Projects\Driver\mydriver_check\HelloDDk.sys...
  14. java解析魔兽争霸3录像_Java解析魔兽争霸3录像W3G文件(五):Action和APM计算
  15. Pulling without specifying how to reconcile divergent branches is discouraged.
  16. vs2019配置OpenGL教程
  17. 130多个免费接口全部开放,涵盖天气数据、环境数据、旅游景点数据、位置数据、雷达、云图等等,可在线直接提供服务,免费的服务接口
  18. 微信小程序关于map地图
  19. 微信小程序云开发 把时间戳转换成正常的时间格式上传到数据库中
  20. Mysql全站最全笔记,从入门到资深!

热门文章

  1. ocp 042 第七章:管理方案对象
  2. [RN] 全国城市列表选择 (包含定位城市、热门城市、全国城市)
  3. C#串口通信学习笔记
  4. dispatch_async 与 dispatch_get_global_queue
  5. iOS 合并.a文件,制作通用静态库
  6. 多个Storyboard切换
  7. IE提示“存储空间不足,无法完成此操作”的错误
  8. Selenium3+python自动化008-操作浏览器基本方法
  9. bzoj1816: [Cqoi2010]扑克牌
  10. 36)PHP,搜寻数据库信息在html中显示(晋级1)