2025-02-09

遇到這樣一個問題:軟件需要支持一個特性,但是該特性的接口,Android2.3及其以上版本才支持,而我們的軟件需要支持1.6及其以上版本。通過和產品部同事的協商,該特性隻要在Android2.3及其以上版本支持就可以瞭,而低版本可以不支持。
要實現以上的需求,需要在代碼引用該特性的接口,但是因為隻有2.3以上才有,而且我們又不想維護兩套代碼,因此在manifest文件中指定最低版本號的方式可能是由問題的。經過一段時間的嘗試,該問題得到瞭圓滿解決:
把需要調用2.3及其以上接口的代碼封裝成一個jar包,jar包可以指定最低版本號,然後在主工程中引用該jar包,然後在指定版本號的地方引用jar包中的代碼,因為在低版本中,不會使用該jar包,因此ClassLoader不會Load該jar包中的代碼,因此不會有任何問題

摘自 BuleRiver的專欄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *