手把手OkBuck教程:應用到AndroidTDDBootStrap項目(續)
來自: http://blog.piasy.com/AndroidTDDBootStrap-Use-OkBuck-2/
5個多月過去了, OkBuck 和 AndroidTDDBootStrap 項目都發生了重大更新,原文中的描述已經過時已久,今天趁著AndroidTDDBootStrap完成重構,更新AndroidTDDBootStrap的OkBuck配置過程,繼續體驗其暢快淋漓!
第一步,應用插件
按照OkBuck文檔的步驟,根據本工程的結構,在 /build.gradle 中加入配置,配置后 /build.gradle 是這樣的:
嘗試運行 ./gradlew okbuck ,哎喲,報錯了:
第二步,配置multidex
根據報錯信息,看來是因為我使用了multidex,這塊高級設置需要額外配置,而根據 OkBuck wiki描述 的描述,linearAllocHardLimit可以直接設置為一個很大的值(或者從小值開始試,BUCK build命令失敗提示多少就設置為多少),而primaryDexPatterns通常從App類開始,逐漸嘗試,運行之后提示找不到類再加到列表中,初始設置如下:
然后再運行 ./gradlew okbuck ,成功啦!
第三步,配置git ignore
這時候打開source tree一看,repo 有3000+改動,有點嚇人啊,不過大都是buck和OkBuck搞的鬼,buck和OkBuck的相關目錄( /buck-out , /.buckd , /.okbuck )都是程序生成的,還是不要被git管理為好,不然每次運行都會有大量改動,嚴重影響code review,所以在 /.gitignore 中加入以下幾行:
注意 /.buckconfig 以及各個module根目錄下的BUCK文件我就沒有ignore了,如果你想ignore也可以加到 /.gitignore 中。另外就是AndroidTDDBootStrap項目的簽名文件本來就是公開的,所以也就沒有必要ignore了,不過由于OkBuck默認是把生成的簽名文件放到 /.okbuck 目錄下,所以其實已經ignore了。
此時嘗試運行 buck install -r appProductRelease ,直接成功!
fabric問題
成功打包安裝后,運行app,發現app卡在了Splashing頁,查看log:
log看起來是fabric找不到key,所以注冊失敗了,看來新發現了一個OkBuck的坑呀,提issue去咯!至于這個問題怎么解決?先禁用呀!打發布包的時候,用gradle再恢復,等OkBuck解決這個問題后再徹底恢復。
小結
由于代碼不兼容的地方早前就進行了修改,這次換用新版本的OkBuck之后,集成時間只花了半小時,這還包括寫這篇博客的時間喲!OkBuck還是挺贊的 :)
</div>