1. 程式人生 > >Tinker熱修復,配置時的坑

Tinker熱修復,配置時的坑

首先,配置時我參考的是這一篇: 微信熱修復Tinker使用
和連結中文章中不同的是【我踩過的坑】以下幾點:

  1. 配置app.gradle 時,需要tinker庫依賴,還需要:

    compile “com.android.support:multidex:1.0.1”

  2. app.gradle 中的 default config 新增:multiDexEnabled true,同時新增:

    dexOptions {
    javaMaxHeapSize “2g”
    preDexLibraries = false
    jumboMode=true

  3. app.gradle 中的 ignoreWarning=false ,置為ignoreWarning=true 我第一次編譯 tinkerPatchDebug 時耗費四五個小時,還不行,出現了“遠端主機強制關閉了一個現有連線…”。後來把這個引數改了,就很順利了。官方解釋如下:這裡寫圖片描述

  4. 繼承自DefaultApplicationLike 的類,根本不是Application型別,能使用的生命週期只有onCreate(),如果需要使用Application,仍需在方法中新增:

    Application app=getApplication()

大概的一個流程,【好麻煩,千萬別弄錯了】
第一步:執行到手機上,然後取出 build/apk/下的包,放置到配置檔案中,oldApk

所指定的位置,作為基準包
第二步:進行程式碼的修改
第三步:執行右側 Gradule 裡的 app/Tasks/tinker/tinkerPatchDebug
第四步:編譯成功後,取出 build/outputs/tinkerPatch/debug/patch_signed_7zip.apk,即是生成的差異補丁包。將補丁包放入手機中指定的位置。

注意事項:
1. 程式執行如果無誤的話,會在第一次執行時載入補丁包,第二/三/四次執行時會顯示修改後的程式。同時,放入手機中的補丁包會自動刪除。【這才代表找到補丁,並且載入補丁成功】
2. 假設基準包是A,打了補丁a成功後,還想打第二個補丁,就必須將修改後的程式碼(即補丁a想要修復的程式碼)重新作為基準包B,生成第二個補丁b。
如果,仍將A作為基準包,則生成的第二個補丁b,已經打了第一個補丁的程式將無法載入補丁b。
Tinker修復成功的概率很高,也不是100%,所以關於如何打補丁,如何部署補丁,還需要公司內部權衡。
3. 生成的補丁包以.apk

結尾,但釋出時最好不使用這個字尾,以防被運營商挾持,Tinker支援任意字尾名。

相關推薦

Tinker修復配置

首先,配置時我參考的是這一篇: 微信熱修復Tinker使用 和連結中文章中不同的是【我踩過的坑】以下幾點: 配置app.gradle 時,需要tinker庫依賴,還需要: compile “com.android.support:multidex:

bugly整合Tinker修復多渠道打包 簽名

自己記錄一下,對其他人有幫助更好 https://mp.weixin.qq.com/s/1kRTqyF4JC5lLwpxUae9NA   (感謝分享) 在這裡面使用的是博主說的第二種方式  快速打渠道包工具(Gradle)  walle 然後在git上找到 walle的專案

騰訊Tinker 修復 Andriod studio 3.0 配置和整合(三)Bugly整合

騰訊Tinker 熱修復 Andriod studio 3.0 Bugly整合和多渠道補丁管理髮布 本文說明 上一篇我說完了騰訊Tinker 熱修復之多渠道打包,這篇我們來初步瞭解下騰訊Tinker和Bugly結合來做熱修復多渠道補丁管理和整合。(其實在上週我已經整合測試完了dem

騰訊Tinker 修復 Andriod studio 3.0 配置和整合(二)多渠道打包和補丁釋出

騰訊Tinker 熱修復 Andriod studio 3.0 多渠道打包和釋出補丁方式推薦 本文說明 在之前我已經分享了Tinker 熱修復的 Andriod studio3.0 初次配置和整合,時隔這麼久來寫一下我對Thinker多渠道打包的理解和記錄,希望對大家有幫助。這篇文

騰訊Tinker 修復 Andriod studio 3.0 配置和整合(一)

本文說明 面試的時候經常問我有沒有用過熱修復?用誰的?能說下原理嗎?當時我回答得不好,畢竟以前的專案都沒有用,又不敢裝逼,mmp,但是基本流程還是知道的,所以我們來初探下Tinker 這個熱修復,如果我是Andriod studio 2.3的話,我還不怎麼想寫這個文章,畢竟太多了,沒有

Tinker修復接入詳解(入並出篇)

注:當然一開始要參考Tinker的詳細說明,連結如下: https://github.com/Tencent/tinker/wiki 下面就是我自己一步一步操作,並完成接入Tinker,而且入坑並出坑的過程。 一:android studio自己建立個工程 二:工程的b

Tinker 修復之路

花了幾個小時進行踩坑,總結一下過程說實話,騰訊的第三方demo從來沒令我們"操心過"。廢話不多數,直接進教程,手把手接入Tinker1、準備工作   Tinker 官網  http://tinkerpatch.com/  花幾分鐘註冊個賬號  新建一個APP  APP名稱建議

springBoot(4)---部署配置文件使用

jin snap html align 如果 true AC imp 讀取 熱部署,配置文件使用 一、熱加載 spring為開發者提供了一個名為spring-boot-devtools的模塊來使Spring Boot應用支持熱部署,提高開發者的開發效率,無需手動

最新微信Tinker 修復平臺接入教程(超詳細)

目錄 Tinker接入文件 1 Tinker簡介 1.1Tinker優點 1.2 Tinker缺點 1.Tinker不支援修改AndroidManifest.xml,Tinker不支援新增四大元件(1.9.0支援新增非export的A

[Android]騰訊Tinker修復框架簡單使用

前言目前我們所知的熱修復方案有阿里的AndFix、美團的Robust以及QZone的超級補丁方案,還有本篇的Tinker,如何在我們的自開發的軟體上選用合適的方案呢?先看看各家的框架效能對比,在作參考。總體來說:AndFix作為native解決方案,首先面臨的是穩定性與相容性

Tinker修復框架接入

Tinker熱修復框架接入 Android現在開發App基本都開始接入熱修復框架,為的就是能夠修復一些線上緊急Bug。熱門的熱修復框架以及對比,網上介紹的也很多,個人而言就用過騰訊的tinker以及阿里的sophix。 騰訊tinkerTinker簡介,根據官方文件接入tinke

Tinker修復(gradle接入--成功)

官方的接入指南真的很坑,對於沒有用過AndFix的人來說,可以說是一頭霧水,我到現在也不知道命令列接入的.jar檔案是在哪下載的。這裡講解一下gradle接入,經測試.java檔案可以實現完美接入,命令列接入的BUG完美繞過。(application的設定,和patch

Tinker修復 及walle多渠道打包流程

普通打包 1 Constants.isWalleChannel 設定成false 2 不要註釋掉    <meta-data             android:name="UMENG_CHANNEL"             android:value="${

Tinker 修復框架 簡單上手教程

導言 前不久,騰訊推出了”微信小程式”這一概念,對移動原生應用的影響可謂巨大.而幾乎就在同時, 騰訊在GitHub上開源了第一個專案Tinker, 這是一個Android平臺的應用熱修復框架.可以在不重新安裝應用的情況下,對應用的程式碼/庫 /資源進行更

android--------微信 Tinker 修復 (一)

什麼是熱修復熱修復補丁(hotfix),又稱為patch,指能夠修復軟體漏洞的一些程式碼,是一種快速、低成本修復產品軟體版本缺陷的方式。熱修復有多種,如:Tinker ,QZone,Andfix, In

Tinker修復初探

聽說熱修復已經很久了,但這是第一次嘗試去應用它。所以我對其它各種熱修復也沒什麼瞭解,這裡僅僅記下如何使用Tinker熱修復。 對於Tinker熱修復的介紹和問題這裡也不寫了,因為官方文件已經有了,戳這裡進入這裡只記下如何在自己的專案中使用Tinker熱修復。 步驟一、

Android studio3.0 命令列方式簡單整合騰訊Tinker修復外掛

簡介: 關於熱修復的介紹現在網上有很多,所以在此我就不過多BB,此篇部落格的特點有兩個,首先,這是一個針對Android studio3.0使用者的部落格,其次,這裡採用的是命令列的方式,這是方式在工作中並不經常使用,相反,在工作中基本都是使用gradle配置的方式,但是命

關於tinker 修復的多渠道打包方式

上篇部落格介紹了tinker 熱修復的接入的問題[http://blog.csdn.net/qq1221jyj/article/details/73743612] 當接入成功後,專案又做了多渠道的東西。難道要一個渠道對應一個補丁包嗎?那哪哪哪 ~~簡直開玩笑。

android Tinker 修復 樂固加固後友盟打多渠道包之後的補丁失效

現在的需求是這樣的,我想把這個包用騰訊樂固加固,然後生成多渠道包,希望這個補丁能修復所有這些渠道的包,經過測試,直接操作修復失敗,解決步驟如下: 參考熱修復api文件sdk接入,發現支援加固,處理方

Android Tinker修復

應該都遇到過剛上線的app,突然發現一個嚴重的bug需要修復,怎麼辦,以前的做法修改bug,然後重新打包app,測試,發新版本。即使是僅僅改動一行程式碼,也需要這麼繁瑣的操作來修復bug。 後來,出現熱修復技術,使用者在使用過程中不知不覺bug就修復了。