Sophix-阿里第三代非侵入式熱修復

本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發布

轉載請請注明出處:http://www.lxweimin.com/p/8ea4d653a53e

前言

上個月,阿里發布了旗下第三代的熱修復:Sophix,在你閱讀這篇文章之前,可以先看看這篇文章,相信你看完了會更加的有興趣,阿里推出業界首個非侵入式熱修復方案Sophix,顛覆移動端傳統更新流程!

我也是在集成使用tinker的時候發現了Sophix,tinker的傻瓜式應用雖說簡單,但各種參數也麻煩,所以公司項目的客服端熱更新,我想試一下Sophix。
好了,閑話不多說,我們來折騰折騰!

集成

1 注冊帳號&申請內測資格

阿里云注冊開發則帳號,注冊成功后進入控制臺,添加移動熱修復服務,如圖:

圖片.png

點擊熱修復服務后,會跳轉到內測資格申請,一般來說,也就個把小時就能通過申請,如圖:

圖片.png

具體的申請我就不做詳細的教程了,申請成功后“移動熱修復”就會如圖添加到控制臺里的導航欄里:

圖片.png

點擊進入就可以創建app進行開發了,此處提醒一句,創建app后你要回到“移動熱修復”的根界面,系統會自動根據你app同時創建andrioid和IOS兩個app,進入app后面的管理才能看到RSASECRET,如圖:

圖片.png

圖片.png
之所以多說一句是因為我找這個RSASECRET找了半天都沒找到在哪兒,還提交了個工單問是不是沒有這個參數值了!創建應用還有什么不懂的,看阿里官方文檔

前期準備工作準備的差不多,就可以環境集成了

2 環境集成

如圖,在項目app下的bulid.gradle中添加maven倉庫地址和坐標版本依賴:


圖片.png
3 代碼配置

首先,在Manifest中配置參數:


圖片.png

然后,重構application初始化Sophix:

圖片.png

到此為止,所有的集成配置都完成了,可以開始測試了。

測試##

1 補丁生成

我們在主界面中寫個Textview,讓他顯示“我是首次運行的”,簽名打出第一包,命名first,安裝運行顯示:

圖片.png
圖片.png

然后我們對代碼進行改動,彈出一個Toast。

圖片.png

簽名打出第二個包,命名second,現在我們就需要用到阿里的補丁工具SophixPatchTool,
下載運行SophixPatchTool.exe,添加包:

圖片.png

點擊設置進行簽名配置,補丁輸出路徑:

圖片.png

高級設置是對比范圍,設置是否強制冷啟動,可忽略。
圖片.png

點擊Go開始打補丁,日志會詳細打印出補丁情況,也可導出日志。
補丁打完后,在輸出目錄里會有一個sophix-patch.jar,這個就是我們需要的補丁包。

上傳發布

先添加版本號,成功后在版本號后的“查看詳情中”上傳補丁:


圖片.png

圖片.png

上傳成功后,依然在“查看詳情”中發布。阿里建議我們在正式發布之前,使用測試工具hotfixdebug調試成功后再發布。
發布完成后,重新啟動App,運行如圖,
圖片.png

圖片.png

成功搞定!#

總結

Sophix和Tinker,專業對比我還不好評價,只說兩次不同集成給我的直觀感受,總結如下:
優點:
? 1· Sophix集成簡單,不需要配置繁瑣的各種參數。
? 2· Sophix支持即時生效(事實上我第一次運行first版本后,直接就彈出了toast,而此時后臺數據顯示設備加載成功數為1,設備推送成功數為0)。
? 3· Sophix支持run instant,而tinker不支持。編譯中不支持run instant,速度大大降低!
? 4· Sophix的補丁是基于阿里自身的SophixPatchTool打包生成,不是在AS中生成的,有種解耦的感覺,而且不需要備份太多的版本。

缺點:
? 處于內測階段,以后是否會免費未置可否(應該不會)
? PS:今天(2017-8-16),阿里自動電話服務,告知明天起,Sophix商業收費

相關鏈接

本文源碼地址:github源碼
阿里云平臺:阿里云
Sophix官方文檔:文檔
補丁工具:SophixPatchTool
測試工具:hotfixdebug
阿里熱修復技術全解析文檔:深入理解Android熱修復技術原理
Sophix技術交流群:584275290

碎碎念:
1 雖然說專業的事兒給專業的人去做,但是copy代碼的時候還是要仔細,我copy AppID到manifest中,結果前面多了個空格,導致值無效,調試了小半會兒才發現問題,諸兄亦是如此,如果諸兄喜歡,給個喜歡!

2 至于Sophix這個名字,阿里的解釋是來源于Sophic(明智的)+ FIX,一個更明智的熱修復方案。但是阿里很多工具或者鏈接都是用fix起名而不是用hix,所以,我更喜歡喊他Sopfix!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容