通過配置Flavors和自定義buildConfigField進行多個服務器地址打包
PRoductFlavors{ } 是配置多渠道打包的. 1).productFlavors{ } 與 buildTypes{ }里面的配置是多對多的關系。
2).productFlavors{ } 其實是defaultConfig{ }的子集 defaultConfig {}中的屬性在productFlavors{}中都可以單獨設置,若重復會以productFlavors{}中的屬性為最終屬性.
a.可以對單獨的productFlavors{ } 設置applicationId進而達到多個相同應用安裝到同一臺設備(現applicationId為唯一標識,區別于packageName) b.對單獨的productFlavors{ }進行一些單獨的配置或者操作
eg:單獨對company的flavors進行了applicationId、minSdk、和JUnit測試限制操作,這樣打出的包只會對company的有影響,其他的flavors無影響
-------------->
defaultConfig的相關設置屬性可直接在ProjectStructure中查看并設置
buildConfigField自定義配置
buildConfigField是用于解決Beta版本服務和Release版本服務地址不同或者一些Log打印需求控制的. 形式:buildConfigField "boolean", "LOG_DEBUG", "true" 三個字段分別表示為: 自定義字段類型 自定義字段名 自定義字段值 將buildConfigField寫入到Flavors中在打包編譯時就會單獨的編入進去(PS.請注意單雙引號的使用,對于鏈接需要額外的單引號buildConfigField的放置位置很靈活,如果Flavors的buildConfigField是一樣的話,直接放入到debug{}和release{}中即可.)
該步驟完成后同步下Gradle就可以在module下面的BuildConfig中每個Flavors下面看到自定義的屬性.
eg:查看時請注意路徑,另外如果創建了多個Flavors時同步后可能只出現了第一個Flavors的文件夾.手動針對其他Flavors編譯即可.
路徑查看圖 Flavors對應的自定義屬性查看
配置并編譯完成后即可進行調用進行ip設置寫入.(BuildConfig.自定義的屬性名)
新聞熱點
疑難解答