OKHTTP3版本差異引發衝突

2021-09-24 13:22:53 字數 1725 閱讀 7394

okhttp3作為乙個android開源網路框架,已經被廣泛應用了,版本也是常有更新,比如說從3.13.0之後不再支援android5.0以下的系統。

能夠廣泛使用,充分說明了它的實用性,但正是它的廣泛使用,我遇到了一些相容性問題。專案使用的不同包,他們使用的okhttp3版本差異使得無法相容。一般遇到這樣的問題,容易讓人爆粗口,還好我比較淡定。

舉兩個碰到的例子,版本3.8.1 realresponsebody的構造方法時這樣的

public realresponsebody(headers headers, bufferedsource source)
版本3.9.1 realresponsebody的構造方法變成了這樣

public realresponsebody(

@nullable string contenttypestring, long contentlength, bufferedsource source)

版本3.11.0

okhttp3.mediatype 新增了乙個get(string string)方法,我碰到過第三方包使用get導致不相容的問題
/**

* returns a media type for .

* * @throws illegalargumentexception if is not a well-formed media type.

*/public static mediatype get(string string)

string type = typesubtype.group(1).tolowercase(locale.us);

string subtype = typesubtype.group(2).tolowercase(locale.us);

string charset = null;

matcher parameter = parameter.matcher(string);

for (int s = typesubtype.end(); s < string.length(); s = parameter.end())

string name = parameter.group(1);

if (name == null || !name.equalsignorecase("charset")) continue;

string charsetparameter;

string token = parameter.group(2);

if (token != null) else

if (charset != null && !charsetparameter.equalsignorecase(charset))

charset = charsetparameter;

} return new mediatype(string, type, subtype, charset);

}/**

* returns a media type for , or null if is not a well-formed media

* type.

*/public static @nullable mediatype parse(string string) catch (illegalargumentexception ignored)

}

dynamicCondition v3版本更新內容

2019 04 09 v3.0.0 新增大量特性。ui公升級,css與js分離。主要更新如下 1.新增使用者全域性配置。見dynamiccondition.js同目錄下的dcconfig.js檔案。通過該檔案可以修改dynamiccondition元件全域性預設配置。沒有該檔案也能正常使用,這樣會使...

python2 版本 與 3 版本中的區別

目錄unicode編碼 print函式print hello world 2.x版本中格式 print hello world 3.x版本中格式 2.6版本已可以支援新的print 語法 from future import print function print fish panda sep r...

Google Protobuf 3版本介紹

google protobuf 3版本介紹 本文編寫時,google 官方的 protobuf 版本是3.0.0beta 下面介紹下proto3的一些細節變化 proto3的語法變化 語法標記 這個版本的protoc的protobuf編譯器已經可以支援proto2語法和proto3的語法 如果你的p...