Android Gradle 的一些簡單配置,讓開發更簡單

開發、準生產、生產多服務器,需要不同的 URL,打包時需要切換

第一步:
首先打開 module 的 build.gradle在 android 根中添加下面的代碼

productFlavors {
        dev {
        resValue "string", "app_name", "sumile_dev"
        }
 
        userTest {
        resValue "string", "app_name", "sumile_test"
        }
 
        online {
        resValue "string", "app_name", "sumile_online"
        }
 }

其中 dev、userTest、online 等名字以及個數都可以改變,大小寫不限(但是不可以使用 test)
productFlavors 通常是指同一軟件的不同版本,比如收費版,免費版。這個版本的邏輯肯定是不一樣的。它會自動將不同版本的代碼分別和通用代碼進行組合,根據上面的配置打包成不同的包。關于 productFlavors 詳細的介紹,參考這里的 官方文檔 或我保存的 這份 (product-flavors)(沒法翻墻的話)

根據上面的介紹,其實可以想到,我們要做的切換 url 打包,其實就類似于多個不同的版本,版本與版本之間請求的服務器的地址是不同的



第二步:

首先打開 src 目錄,在 src 目錄下按照第一步中的三個版本的名字新建文件夾

之后在其中一個文件夾下面新建一個文件夾 ,java 下面新建包,包名可以和你 main 下面的不同

然后復制 java 目錄到其他文件夾下面 (本例中為 dev 和 online)
最終結果如下:



從圖中可以看到,userTest 文件夾下面的代碼被識別成了 java, 而其他的兩個沒有被識別到。
你連著手機點運行的時候,這里被識別成 java 的代碼就會是當前使用的代碼,另外兩個不會被使用到,如果你想要切換使用的代碼,只要在 Build Variants 中切換就好了

另外要著重注意的是:
如果 main 文件夾下的 package 名和你新建的 package 名相同的話,同目錄下不要有相同的文件

接下來在每個 Config.java 中定義它們不相同的地方,比如下面我把它們每個 url 都加上了它們的版本的名字

然后就正常使用就可以了



接下來打包

按住 shift 可以都選擇了,finish 完成,就可以打出來三個包了

調試微信—每次必須打包再測的煩惱

module 的 build.gradle 的 android 下面添加如下代碼:

 debug {
       storeFile file("../keystore.jks")
        storePassword "123456"
        keyAlias "sumile"
        keyPassword "123456"
        }
 }```

路徑可以根據相對或絕對路徑去匹配,推薦還是相對路徑(使用 Mac 和 Windows)這樣配置的話,以 debug 模式運行的時候用的就是配置的 keystore 了

[MyBlog](https://sumile.cn/archives/1788.html)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容