您好,登錄后才能下訂單哦!
一、需求背景
實際項目開發過程中,經常會遇到這樣的場景:一個項目要根據需要打包成多個存在差異的版本,比如對外版本、對內版本,或者開發版本、測試版本、線上版本等等……那么如何通過維護一套代碼的前提下實現打包多版本的需求呢?在Android Studio中我們可以使用productFlavors來實現這樣的需求。
二、創建差異化版本目錄結構
根據版本的差異化在src目錄下創建對應的java文件夾,如下圖:
創建external與internal版本,將版本差異化的代碼文件放在這2個目錄對應的文件夾下,具體的目錄層次同main下面的一樣即可;
三、配置gradle文件
在moudle的gradle配置文件中增加如下配置:
android { …… productFlavors { internal { manifestPlaceholders = [app_label:"對內app"] applicationId "com.ad.demo.internal" } external { manifestPlaceholders = [app_label:"對外app"] applicationId "com.ad.demo.external" } } }
四、在代碼中判斷版本
如果有些邏輯需要在代碼中判斷版本,可以通過BuildConfig.FLAVOR去獲取當前選擇的是什么版本值:
if(BuildConfig.FLAVOR.equals("external")){ textView.setText(getResources().getString(R.string.my_app_name) + "對外應用"); }
五、按版本打包
簽名打包的時候,選擇對應的版本即可
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。