眾所周知稠肘,Android的第三方庫如天上的星星那么多媳纬,不過有了jcenter, mavenCentral,我們可以直接通過gradle來使用這些庫蕉斜,這樣椿争,代碼怕膛,資源,配置等都有了秦踪,簡直不要太爽褐捻。
不過有些大廠出品的第三方庫,還是使用jar或demo工程的方式提供椅邓,有些demo還是eclipse時(shí)代的產(chǎn)品柠逞,這該是有多長時(shí)間未維護(hù)了啊,你們的技術(shù)是故意不維護(hù)景馁,然后增加使用難度板壮,來顯得你們的工作很重要,很繁忙么合住?對(duì)于這種事情绰精,請(qǐng)問,你們還招人不透葛?
有人也許會(huì)問了笨使,這些庫這么落后,我們可以選擇其它的第三方代替僚害,不用它就是了嘛硫椰。可是,這些大廠有能力讓你必須使用他們的庫最爬,不然,怎么叫大廠呢门岔,比如爱致,你要上百度市場(chǎng),必須得集成他們的升級(jí)sdk寒随,要上360市場(chǎng)糠悯,必須得使用他們的升級(jí)sdk吧。一旦這些第三方庫升級(jí)妻往,我們還得去相關(guān)的開發(fā)者網(wǎng)站手動(dòng)下載互艾,查閱他們的文檔。真的是好麻煩的讯泣。
下面舉個(gè)例子纫普,以銀聯(lián)支付為例。官方的集成方式如下:
- 拷貝 /data.bin data.bin 到工程的 assets/目錄下好渠;
- 拷貝 ../jar/xxx/xxx.so到工程的jnilibs目錄下昨稼;
- 拷貝 某jar到工程libs目錄下;
- 在工程的AndroidManifest.xml文件中注冊(cè)支付插件使用的Activity
- 在工程的AndroidManifest.xml中添加所需的相關(guān)權(quán)限
- 配置Proguard規(guī)則
哦對(duì)了拳锚,在此之前你還得手動(dòng)去下載這個(gè)示例工程假栓。
每當(dāng)遇到要集成這類庫的時(shí)候,我總是含著淚地想問一下霍掺,你們就不能使用AS打出一個(gè)aar包匾荆,并上傳到j(luò)center等maven倉庫么,雖然國內(nèi)上傳jcenter速度慢杆烁,但你們這些大廠牙丽,買個(gè)VPN應(yīng)該買得起吧? 我多么地想有一天兔魂,我能像下面這樣優(yōu)雅的使用啊
dependencies {
compile 'group:artifact:version')
}
或許剩岳,你們是真的很忙,好吧入热,那我替你們封裝AAR拍棕。或許你們是真的覺得上傳jcenter很慢勺良,好吧绰播,我自己買VPN,我?guī)湍銈兩蟼魃欣АJ褂肁S插件上傳不成功的蠢箩,我直接在瀏覽器中一個(gè)文件一個(gè)文件的手動(dòng)添加。
但我個(gè)人畢竟精力有限,目前也才整理了支付寶谬泌,銀聯(lián)支付滔韵,百度自動(dòng)升級(jí)和360自動(dòng)升級(jí)4個(gè)AAR,提交在GitHub https://github.com/Jamling/aar-ref掌实,歡迎志同道合的同學(xué)們加入陪蜻,不斷壯大這些常用的但是集成不方便的第三方庫。