Flavors

今天打包別人的代碼時發現個神奇的東西,打包到最後需要選擇flavors?什麼鬼?當時隨便選了一個,之後經理跟我說apk有問題登陸不成功,問我端口改了沒,我記得我改了打包的啊。然後立馬改掉端口後重新打包,接着神奇的事情發生了,眼看着我剛改掉的端口在我的眼皮子底下在運行編譯的時候變。。變。。。變回去了。。回去了。。。嗯?然後才發現這個文件的上方有一行提示“Files under the build folder are generated and should not be edited”對了這個文件叫(BuildConfig)雖然後來覺得自己居然改這個文件挺傻x的。
不過當時就想着:what??????不能編輯?這就。。。好吧,我見識短,沒見過,這是啥?

正文來了:

  • 簡單百度了一下,發現原來這麼用的(我的首要目的是先把端口改了,給經理打個包,順便知道了這玩意好神奇)
  • 先看一下這個之前我從未踏足的一個地方,不知道的這麼多,活到現在也是不容易哈。路徑:\app\build\generated\source\buildConfig\debug\BuildConfig.java
  • 這裏寫圖片描述
    原來每個工程編譯之後都有默認的debug和release文件,他們裏面就是不可編輯的BuildConfig文件,哈哈。看看都是啥:
    這裏寫圖片描述
    那個id號,我猜的應該就是包名,自動生成的嘛,不過你想新建的話也可以改,沒試改了是什麼鬼,但我發現了不需要那麼麻煩新建去,就不記錄了,需要再百度吧。
    這裏的東西,細心的我發現和我build.gradle中的一段內容一樣嘛
    這裏寫圖片描述
    搜嘎!
  • 現在大概知道了它在哪兒,和什麼有關,接下來必須的知道它有什麼用?可以用來幹什麼?來了來了。。。看着:
  • 這個代碼的原主人,多了這樣一句:
    這裏寫圖片描述
    好了,不兜圈子了,就是他在換ip地址,這是一種很方便的切換各種ip/端口的方式,(例如:我們在開發的時候,有測試ip地址和發佈的正式版ip地址;還有的項目,像我這個項目,不同的店的apk有不同的端口號,給不同的店打包就需要切換不同的端口號)以前都是註釋好一堆,打包的時候就放開一個註釋其他的。每次都改代碼,雖然沒有很麻煩但絕對沒有這個方便,真的,你看,只需要這裏多寫一句這個。當然,現在說的這些都是在build.gradle裏的android{裏},然後加一段這個:這裏寫圖片描述“wangjing”這種名字是自己定的,“String”是字段“HOST”的類型,“http。。。”是“HOST”的值。我猜的,自己理解一下吧。就這個意思。
    編譯之後,神奇的事情發生了:這裏寫圖片描述
    BuildConfig裏比默認的時候多了一句:
    public static final String HOST = “http://。。。。/api/”;
  • 到這裏配置完了,看,以後想換不同的ip/端口的時候怎麼換:左下角的Build Variants點擊選吧,不用管現在有什麼類型的BuildConfig文件,也不用看當前的BuildConfig裏是什麼內容,選一個你就運行吧,它會自動生成的 。
    這裏寫圖片描述
    特別完美,如果配對了,這裏選擇一個,想當前運行什麼ip的就運行什麼的。you沒有很帥?

對了,用的時候這麼用,點出來就可以,你隨便在哪兒裏用
這裏寫圖片描述

我知道可能看不太懂,我表達能力有限,這是筆記做的話最多的一個了,以後慢慢提升。還有個比較重要的關於全局定時器的技術點一直沒時間記錄,別到時候給忘了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章