aar修改方法的返回類(lèi)型導(dǎo)致編譯失敗

背景

項(xiàng)目中有兩個(gè)模塊,兩個(gè)模塊最終都是以aar形式被應(yīng)用使用的。其中A模塊調(diào)用了B模塊的方法:

public int test() {
  // 業(yè)務(wù)邏輯
  return 0
}

但A模塊沒(méi)有使用test方法的返回。
B模塊在一次升級(jí)過(guò)程中,發(fā)現(xiàn)沒(méi)有人使用了test方法的返回,于是將test方法改成了無(wú)返回值樣式:

public int test() {
  // 業(yè)務(wù)邏輯
}

并將B模塊發(fā)布aar,由應(yīng)用import,結(jié)果在應(yīng)用編譯的時(shí)候報(bào)錯(cuò),找不到有返回值的test方法。

原因分析

雖然A倉(cāng)庫(kù)沒(méi)有使用B倉(cāng)庫(kù)的test方法返回值,但在A倉(cāng)庫(kù)的aar中,會(huì)標(biāo)明使用的是有返回值的test方法,導(dǎo)致B倉(cāng)庫(kù)test方法刪除返回值后,A倉(cāng)庫(kù)aar找不到相應(yīng)方法編譯失敗。

解決方法

A、B倉(cāng)庫(kù)同時(shí)發(fā)布aar供app使用,即可編譯通過(guò)

經(jīng)驗(yàn)

即使是修改其他倉(cāng)庫(kù)沒(méi)有使用返回值的方法為無(wú)返回值方法,也需要使用方倉(cāng)庫(kù)一起發(fā)布aar。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容