一谐宙、環(huán)境搭建
1凡蜻、gradle配置
? ? ? ? 在這兩個(gè)地方加入依賴(lài)就可以划栓,eclipse情趣官網(wǎng)查看忠荞,這里就不贅述了。
2委煤、代碼配置
這里需要注意素标,此方法最好放到你寫(xiě)的Application的attachBaseContext方法的最前面,這是sophix的初始化寓免。
此方法放到Application的onCreate方法中袜香,最好放到最后鲫惶。此方法為上傳了補(bǔ)丁后欠母,程序拉取,下載補(bǔ)丁包踩寇。
二六水、打補(bǔ)丁
如上圖,舊包和新包都必須是基礎(chǔ)包睛榄。不能是加固之后的包场靴,比如360加固等等。
舊包:為線(xiàn)上已有的有bug的包,需要修復(fù)的包叉趣。
新包:為已修復(fù)線(xiàn)上bug的包疗杉。注意,如果線(xiàn)上版本號(hào)上為1.2.2梢什,那么新包和舊包的版本號(hào)都要為1.2.2朝聋。如果已經(jīng)發(fā)布了一次補(bǔ)都胶邸(即已修復(fù)過(guò)一次),比如叫補(bǔ)丁1僻他,還要再次進(jìn)行修復(fù)時(shí)吨拗,舊包應(yīng)該是沒(méi)有修復(fù)過(guò)的有bug的包婿斥,新包應(yīng)該是包含了補(bǔ)丁1后,又做了修復(fù)后的包峡蟋。
強(qiáng)制冷啟動(dòng):勾選的話(huà)強(qiáng)制生成補(bǔ)丁包為需要冷啟動(dòng)才能修復(fù)的格式。默認(rèn)不選的話(huà)夸楣,工具會(huì)根據(jù)代碼變更情況自動(dòng)選擇豫喧。
不比較資源:打補(bǔ)丁時(shí)不比較資源的變化。
不比較SO庫(kù):打補(bǔ)丁時(shí)不比較SO庫(kù)的變化孵班。
設(shè)置里為高級(jí)設(shè)置,必須設(shè)置
此圖不在贅述,就是簽名以及簽名密碼等郭厌,做android的應(yīng)該都懂。
然后點(diǎn)擊GO,會(huì)生成一個(gè)sophix-patch.jar的文件嚣艇,注意此文件名稱(chēng)不能修改。
三贰谣、阿里控制臺(tái)
上次補(bǔ)丁之后携御,可以有灰度發(fā)布和全量發(fā)布,灰度發(fā)布可以設(shè)置發(fā)布到手機(jī)的數(shù)量誓军,檢測(cè)之后再全量發(fā)布。
發(fā)布后可以查看已經(jīng)加載的設(shè)備數(shù)。上方二維碼是本地測(cè)試,過(guò)程可以查看阿里官網(wǎng)俄占。掃二維碼可以直接加載補(bǔ)丁到設(shè)備,不用發(fā)布到用戶(hù)甚带,自己先測(cè)試。沒(méi)有問(wèn)題后在發(fā)布。
四敷钾、注意事項(xiàng)
1膘格、舊包,新包辆毡,補(bǔ)丁的版本號(hào)等這些所有的版本號(hào)要一致,不然推送不到設(shè)備眨攘。
2鲫售、打補(bǔ)丁過(guò)程中情竹,用到的舊包新包都要為沒(méi)有360等加固過(guò)的包,不加固不等于不能簽名雏蛮,我們發(fā)布的程序肯定都需要簽名阱州。
3挑秉、經(jīng)過(guò)本人測(cè)試衷模,增加資源阱冶、刪減或者增加方法滥嘴、修改so包,都需要?dú)⒌暨M(jìn)程重啟后才能生效镊叁。
4晦譬、發(fā)布補(bǔ)丁敛腌,最好先用測(cè)試工具,掃描二維碼測(cè)試尤莺,然后發(fā)布灰度測(cè)試颤霎,然后全量發(fā)布涂滴。
5、上面初始化initSophix()方法中有幾個(gè)回調(diào)狀態(tài)缔杉,可處理可不處理首量,在需要重啟生效的狀態(tài)來(lái)時(shí)加缘,最好根據(jù)情況殺掉進(jìn)程拣宏。
五杠人、鏈接:
阿里云官網(wǎng)? ? 如果有問(wèn)題的朋友們可以留言交流嗡善。