我“硬剛”mmkv開源庫勝利啦!
前情是這個帖子https://blog.csdn.net/jzlhll123/article/details/139917169
之前項目中將mmkv1.3.4升級到1.3.5或者1.3.6,就從firebase后臺上看到crash。
java.lang.UnsatisfiedLinkError: dlopen failed: library “libmmkv.so” not found。
原因它release note說明如下:
導致了我的不少armV7架構手機用戶出現了crash。
對于普通程序員而言一般不會去看你的庫升級了什么,看到gradle有黃色提醒,而且僅僅是第三位版本號升級,自然就給升級上去了。
結果導致armv7手機開始報錯,提示 “libmmkv.so” not found。那么,可能我是第一個發現這個問題的根本原因,于是去mmkv的github的issue看到滿屏的抱怨:
經過我的多方研究,將我的研究結果,
附在了其中2個issue中,給出了建議:
于是,騰訊的大佬回復:
Don’t spam everywhere. If armv7 is the issue you can always fork mmkv
and add back armv7 support by yourself. It’s open sourced.
不要到處抱怨,這是開源的,你可以自己去編譯。
誒,我有點不能“忍”,緊接著我又友好(ji mang)地回復(ying gang)到:
我還是堅持自己的意見。對于大部分普通程序員而言,一個庫是否好用在于它的延續性,
如果對于兼容性存在問題的情況下, 可以將庫的版本進行別的版本號區分發布。而不是1.3.4,變成1.3.5。
對于版本號也不是很好的尊重。
于是,還沒等我再回復一句,就已經關閉了回復。
hah,讓我閉嘴了。
然后,時間過去了2周,看著越來越多的人給他提issue,看來他們終于抗不住了。發布了1.3.7版本:
可以看到,他們吸取了我的建議,后續版本號將定為2.0,而且長期支持1.3.7(當然只是修正bug不再上新功能),并加了回來armV7和x86的庫,我也已經驗證庫都回來了。
所以,對于這個事情,我勝利了?
真理越辯越明,相信會越來越好。對于國民最牛庫之一的mmkv,也希望它越來越好!
附錄:
第一位(1):主版本號。當功能模塊有較大的變動,比如增加多個模塊或者整體架構發生變化。此版本號由項目決定是否修改。
第二位(2):子版本號。當功能有一定的增加或變化,比如增加了對權限控制、增加自定義視圖等功能。此版本號由項目決定是否修改。
第三位(3):修訂版本號。一般是 Bug 修復或是一些小的變動,要經常發布修訂版,時間間隔不限,修復一個嚴重的bug即可發布一個修訂版。此版本號由項目經理決定是否修改。
日期版本號(20201228):用于記錄修改項目的當前日期,每天對項目的修改都需要更改日期版本號。此版本號由開發人員決定是否修改。