Android 热修复tinker补丁加载出错,提示日志如下: 5C

com.tinker.app:patch E/Tinker.ParallelDex: Failed to optimize dex: /data/user/0/com.tinker.app/tinker/patch-985c8c6e/dex/oat
java.io.IOException: No original dex files found for dex location /data/user/0/com.tinker.app/tinker/patch-985c8c6e/dex/oat
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:353)
at dalvik.system.DexFile.(DexFile.java:142)
at dalvik.system.DexFile.loadDex(DexFile.java:201)
at dalvik.system.DexFile.loadDex(DexFile.java:169)
at com.tencent.tinker.loader.TinkerParallelDexOptimizer$OptimizeWorker.run(TinkerParallelDexOptimizer.java:131)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:784)

                                                                                                                                                        com.tinker.app:patch E/Tinker.DefaultPatchReporter: onPatchDexOptFail:  com.tencent.tinker.loader.TinkerRuntimeException: Tinker Exception:retry dex optimize file is not exist, name: oat
                                                                                   at com.tencent.tinker.lib.patch.DexDiffPatchInternal.patchDexExtractViaDexDiff(DexDiffPatchInternal.java:188)
                                                                                   at com.tencent.tinker.lib.patch.DexDiffPatchInternal.tryRecoverDexFiles(DexDiffPatchInternal.java:77)
                                                                                   at com.tencent.tinker.lib.patch.UpgradePatch.tryPatch(UpgradePatch.java:132)
                                                                                   at com.tencent.tinker.lib.service.TinkerPatchService.onHandleIntent(TinkerPatchService.java:129)
                                                                                   at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:68)
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:108)
                                                                                   at android.os.Looper.loop(Looper.java:166)
                                                                                   at android.os.HandlerThread.run(HandlerThread.java:65)

2个回答

他说你的odex文件不存在,

qq_41744032
qq_41744032 同问
一年多之前 回复
qq_21899405
qq_21899405 这个太难了
一年多之前 回复

日志都可以出本书了吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android 热修复方案Tinker(三) Dex补丁加载
之前有说到Tinker的修复原理是跟Qzone类似,这里就详细分析一下为什么这样做可以修复补丁.虽然其他Android版本的源码实现可能不一样,但是都是基于相同的原理.所以这里就以Android 6.0的源码为例介绍原理.具体每个系统版本的不同实现下面会详细说明. 首先从加载dex文件的入口开始看, /libcore/dalvik/src/main/java/dalvik/system/DexC
Android 热修复方案Tinker(二) 补丁加载流程
这篇文章从加载补丁的入口tryLoad处开始分析Tinker补丁加载的流程.根据不同的类别Tinker可以支持dex,SO和资源更新,接下来会详细分析.先贴出补丁加载的主要类图.从tryLoad入口开始,tryLoad中调用加载补丁流程的方法,并统计出这次Load Patch所消耗的时间. Intent resultIntent = new Intent(); //统计
Android 热修复方案Tinker(四) 资源补丁加载
想要做资源的更新首先需要了解分析资源加载流程,这样才能找到突破口.一般我们在应用中使用和加载资源都是通过Context对象的getResources方法.这里以Android 6.0的源码分析资源加载的流程.
Android 热修复方案Tinker(五) SO补丁加载
SO文件加载的时机和Dex跟资源的加载有些不一样,像Dex和资源的加载都是系统在特定的时机自动去加载,而SO加载的时机则是让开发者自己控制.开发者可以通过System类对外暴露出来的两个静态方法load和loadLibarary加载SO.这两个方法都拿到ClassLoader再通过Runtime实现的.
Android热修复-Tinker简析
一、简介 日常工作工作中难免会遇到项目上线后出现bug问题,如果紧急发版往往由于渠道审核时间问题,导致bug修复不及时,影响用户体验。这时我们需要引入热修复,免去发版审核烦恼。 热更新优势: 让应用能够在无需重新安装的情况实现更新,帮助应用快速建立动态修复能力。 轻量而快速的升级,无需发版 远端调试,,可以将补丁推送给指定用户 可以通过patch使用户安装两个不同的版本,埋点进行数据统计 局限...
Android热修复之腾讯Tinker
本文章参考官方文档:https://github.com/Tencent/tinker为什么使用Tinker    当前市面的热补丁方案有很多,其中比较出名的有阿里的AndFix、美团的Robust以及QZone的超级补丁方案。但它们都存在无法解决的问题,这也是正是我们推出Tinker的原因。 TinkerQZoneAndFixRobust类替换yesyesnonoSo替换yesnonono资源替...
Android热修复-微信Tinker
写在前面 正常情况下一旦线上版本出BUG时,这时候得改BUG,重新发布上线,用户重新下载安装,成本未免有点高;基于这种情况下很多热修复框架孕育而生,比较火的有:Andfix、HotFix等;本文旨在帮助没接触过Tinker的童鞋快速集成使用热修复; 本文环境 官方地址 SdkVersion 24 gradle:2.2.0 Tinker版本 1.7.5 集成Tinker
Android热修复——Tinker源码分析
从Tinker的官方文档上可以看到,接入Tinker是在Application中,所以切入点就从Application开始; public class TinkerApplication extends Application { private ApplicationLike tinkerApplicationLike; @Override public void o...
Android热修复——Tinker集成
前言 现在市场上的热修复工具或者框架有很多很多,除了Tinker比较出名的还有阿里的 AndFix、美团的 Robust 以及 QZone 的超级补丁方案。每个方案的优缺点如下图: 阿里AndFix接入简单,不过兼容性不太好;QZone方案对性能损耗较大并且补丁大小较大;美团的 Robust兼容性好,但是尚未开源。 所以,如果选择开源的热修复方案,Tinker是最佳的选择。下面记录一下Tinke...
Android热修复——Tinker的集成
前言 做前端开发的都知道,当我们项目做完了以后,都会把应用上传到应用市场上供用户下载使用,比如上传到应用宝啊,应用汇啊,360啊,小米,华为,魅族啊,等等 但是,有时候我们会经常遇到一些很扯淡的事情,刚刚熬夜加班将项目发到应用市场上,第二天,又发现一个严重bug,难道是开会研究看看是否能在下一版解决?还是将bug解决了, 在给测试进行测试,然后再发版?如果从新发版,这个成本太高了,那怎么办呢,今...
Android热修复——Tinker
今日科技快讯 前段时间国家新闻出版广电总局发布通知,要求新浪微博按照有关规定,对视听节目服务进行全面整改。昨日,新浪微博官方发布公告:使用微博账号传播电影、电视剧,应当具有《电影片公映许可证》或《电视剧发行许可证》。将关闭超过15分钟以上的长视频
Android 热修复 Tinker
1. 在应用中对patch的合并与加载,已经在上篇文章中详细介绍过了Android 热修复 Tinker接 入及源码浅析 2. 详细的dex patch,dex diff算法 3. tinker gradle plugin相关知识
Android热修复Tinker Demo
Android热修复Tinker的demo 生成patch需要的相关资源等
Tinker 热修复
介绍   Tinker是微信官方的Android热补丁解决方案,它支持动态修改代码(class文件)、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件,实现动态部署。 它主要包括以下几个部分: 1)gradle编译插件: tinker-patch-gradle-plugin (用于生成差分补丁的gradle插件)   2)核心s
tinker热修复
Tinker的集成总结:首先在我们的gradle文件中去配置一个注解库,一个核心的SDK库,有了这两个库,我们还需要定义一个Tinkmanager对tinker API层做一层封装。有了这个Tinkmanager以后,我们第三步定义了一个CustomTinkerLike,这个对象继承于ApplicationLinke,在这个类中完成tinker的初始化,而为什么需要这个ApplicationLik
Tinker热修复
使用Tinker热修复,文章介绍可以点击下面的链接:https://mp.csdn.net/mdeditor
热修复Tinker
微信Tinker热修复的集成Demo,快速高效的热修复技术集成和使用。
热修复tinker
首先project build.gradle里面需要添加:     classpath "com.tinkerpatch.sdk:tinkerpatch-gradle-plugin:1.1.4"   首先要自己写一个gradle来把tinker的一些配置写在里面,当然你也可以写在app build.gradle里面,但是抽出来更美观,,,,如下 apply plugin: 'ti
Android热修复框架Tinker初体验
Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。详细说明:Tinker介绍
Android热修复(微信tinker的集成)
微信tinker的介绍:Tinker是微信前段时间开源的Android热补丁方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。 同时,还有许多其他公司使用的热补丁方案,如比如QZone,AndFix,Dexposed
android热修复Tinker简单demo
最最简单的用tinker实现热修复的一个demo
Android热修复Tinker所需资源
此资源为Tinker生成Patch所需要的资源。 其中包括了官方的资源和tinker-patch-cli-1.7.7.jar。
Android热修复(3):Tinker的使用
github官网 Tinker的基本介绍 Tinker – 微信Android热补丁方案。 Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。 它主要包括以下几个部分: 1.gradle编译插件: tinker-patch-gradle-plugin 2.核心sdk库:...
Android 热修复 Tinker接入方法
什么是热修复简单的说就是用户不用重新下载一个新的apk安装,而是直接下载一个补丁包,通过补丁来替换一些出现bug的类,当然下载补丁的过程用户一般是感觉不到的,表面上看是直接修复了bug。热修复原理简单的来说,就是把最后修改的类打包成dex,插入到ClassLoader的dex数组的最前面,当ClassLoader找类时,会按顺序遍历dex文件,然后从当前遍历的dex文件中找类,如果找到则返回,如果找
Android热修复框架 Tinker 接入
1. 编译demoTinker GitHub: https://github.com/Tencent/tinker Q1. clone之后,仅仅将tinker-sample-android 工程导入Android Studio,如果将整个工程导入的话,否则死活编译不过Q2. 编译命令 ./gradlew tinkerPatchDebug 报错:A problem occurred evaluati
Android热修复之Tinker接入流程
在上一篇文章中我们已经介绍了各大热修复框架的优缺点以及Hotfix的接入流程,如果有兴趣可以先阅读Android热修复之Hotfix接入流程。这次主要简单介绍一下Tinker的接入流程。Tinker最大的优势就如官方所说的:Tinker 已运行在微信的数亿 Android 设备上,那么为什么你不使用 Tinker 呢?因此Tinker相对其他热修复框架,在兼容性和稳定性方面会更加突出。1. 接入前准
Android 热修复Tinker接入实战
1 热修复原理热修复的原理一句话总结就是:就是dex的动态替换。首先,我们知道PC上的JVM是直接解析class字节码的,而android上的JVM是解析dex文件的,因此Android程序要运行需要先编译打包成dex,之后才可以被Android虚拟机解析运行。所以我们如果想要即时修补bug就要让修复的代码被Android虚拟机识别,如何才能让虚拟机认识我们修改过的代码呢,也就是我们需要把修改过的代
android tinker 热修复使用及注意事项
android 热修复的作用这里就不做过多赘述了,app的bug不可避免,热修复功能还是很必要的,这里使用的微信热修复Tinker,参考博客:http://www.jianshu.com/p/db504b33bca5 感谢教程,在这里我也是总结一下我的使用心得,如总结的有问题还望多多包涵:  微信热修复官网:http://tinkerpatch.com/,注册用户,创建app,生成appKe
Android 浅尝Tinker微信热修复
现在热修复已经很热门了,比较著名的有阿里巴巴的AndFix、Dexposed,腾讯QQ空间的超级补丁和微信最近开源的Tinker。   Tinker是一个android的热修复库,在不重新安装apk的情况就可以更新dex,library和resource。Tinker区别于AndFix和QQ空间超级补丁采用了更好的dexdiff算法。想要了解详细介绍参考下面微信负责人张绍文的博客链接。 演示ap
初探Android热修复——tinker接入
前言 众所周知,Android不仅系统版本众多,机型众多,而且各个应用市场都各有各的政策和审核速度。每次发布一个版本对于开发的同学来说都是一种煎熬。而且很多时候我们也会想到: 修复的 bug 需要等待下个版本发布窗口才能发布?已经 ready 的需求排队上线,需要等待其他 Feature Team 合入代码?老版本升级速度慢?频繁上线版本提醒用户升级,影响用户体验? 他山之石,可以攻
Android Tinker热修复集成解析
首先解释下tinker是什么,官方如是解释:Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。看到这,应该知道它的厉害了吧,支持动态下发代码、So库以及资源,第二它已经正式运用于有7、8亿用户的微信上了;比起阿里的andifx只能用作方法替换,这太强大了;因此作为app
Android热修复框架Tinker接入
4步接入热修复框架tinker
Android热修复之手写Dex补丁加载
Android热修复之手写Dex补丁加载:将修复好的classes2.dex下载到本机,并替换有bug的.dex文件
Android热修复技术Tinker在Android中的实践
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/54934782 本文出自:【余志强的博客】 Tinker初体验 先到Github上下载Tinker源码,里面包含了tinker-sample-android,使用AndroidStudio导入该例子工程即可。 导入工程后,运行程序 ,出现...
Tinker热修复框架接入
Tinker热修复框架接入 Android现在开发App基本都开始接入热修复框架,为的就是能够修复一些线上紧急Bug。热门的热修复框架以及对比,网上介绍的也很多,个人而言就用过腾讯的tinker以及阿里的sophix。 腾讯tinkerTinker简介,根据官方文档接入tinker,然后测试热修复补丁,总是莫名地失败(或许是自己技术太渣)。无奈就不去折腾它,而选择了第三方的tinkerpatch这...
Android集成tinker热升级框架
微信热升级tinker集成项目总项目工程,使用的是tinker v1.7.9版本 https://github.com/Tencent/tinker步骤一1.root目录bulid.gradle添加buildscript { repositories { jcenter() } dependencies { classpath 'com.an
热修复之微信Tinker集成
一、集成步骤1、 添加 gradle 插件依赖buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0' classpath "com...
基于Tinker的热修复
Tinker是腾讯推出的一种热修方案,下面介绍一下Tinker的接入步骤。一、在工程的 build.gradle添加远程仓库依赖 jcenterbuildscript { repositories { jcenter() } dependencies { // TinkerPatch 插件 classpath "com.tin...
Tinker热修复初探
听说热修复已经很久了,但这是第一次尝试去应用它。所以我对其它各种热修复也没什么了解,这里仅仅记下如何使用Tinker热修复。 对于Tinker热修复的介绍和问题这里也不写了,因为官方文档已经有了,戳这里进入官方介绍文档 ,这里只记下如何在自己的项目中使用Tinker热修复。 步骤一、 通过gradle接入Tinker 在项目的build.gradle里添加gradle依赖:
Tinker热修复示例
这几天想学习一下Tinker,但我觉得官方给的例子太复杂,作为新手,我只想一个最简单最直观的例子。 在下愚钝,开始集成并不顺利,在Tinker的官方技术人员的悉心指导之下,花了一天多的时间终于有点运行出了 我的一个小补丁,还是很开心的。 看图说话: (原始界面) (补丁后界面) 关键步骤截图如下: (图一)
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件