日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Gradle 使用技巧(一)

發(fā)布時(shí)間:2025/4/5 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gradle 使用技巧(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

Gradle是使用Groovy語(yǔ)言構(gòu)建,所以既然是語(yǔ)言,那么就有他的語(yǔ)法,而不是簡(jiǎn)單的配置項(xiàng)。關(guān)于Gradle有時(shí)間會(huì)出一系列的文章。

1. 自定義apk輸出名稱 (3.0)

本配置為Android studio3.0及以上的配置,3.0以下版本適用,下面的配置會(huì)將所有的Variants都輸出。

// 便利所有的Variants,all是迭代遍歷操作符,相當(dāng)于for applicationVariants.all { variant ->// 遍歷得出所有的variantvariant.outputs.all {// 遍歷所有的輸出類(lèi)型,一般是debug和replease// 定義apk的名字,拼接variant的版本號(hào)def apkName = "app_${variant.versionName}"// 判斷是否為空if (!variant.flavorName.isEmpty()) {apkName += "_${variant.flavorName}"}// 賦值屬性outputFileName = apkName + ".apk"} }

配置到buildTypes的release和debug下面

Gradle配置輸出APK名稱.png

2. 配置簽名

我們?cè)谑褂冒俣鹊貓D和微信相關(guān)的API的時(shí)候,是需要我們填入相關(guān)的的app簽名進(jìn)行校驗(yàn)后才能進(jìn)行操作,而默認(rèn)我們?cè)谡{(diào)試模式下使用的是AS為我們提供的android.keystore,所幸,Gradle為我們提供了相關(guān)的方法,我們可以為debug和release指定密鑰文件和前面。我們需要先在app.gradle的android節(jié)點(diǎn)做做相關(guān)的配置。

2.1 配置簽名信息

android{...signingConfigs {debug {try {storeFile file("../簽名文件.jks")storePassword "密碼"keyAlias "別名"keyPassword "密碼"v1SigningEnabled truev2SigningEnabled false}catch (ex) {ex.printStackTrace()throw new InvalidUserDataException("秘鑰用戶名或密碼錯(cuò)誤${ex.getMessage()}")}}release {try {storeFile file("../簽名文件.jks")storePassword "密碼"keyAlias "別名"keyPassword "密碼"v1SigningEnabled truev2SigningEnabled false}catch (ex) {throw new InvalidUserDataException("秘鑰用戶名或密碼錯(cuò)誤")}}}... }
  • signingConfigs 是處于android節(jié)點(diǎn)中
  • 這里需要注意的是storeFile的路徑是指當(dāng)前app.gradle的相對(duì)路徑。
  • 關(guān)于v1SigningEnabled和v2SigningEnabled
    • APK Signature Scheme v2是Android 7.0 引入一項(xiàng)新的應(yīng)用簽名方案 APK Signature Scheme v2,它能提供更快的應(yīng)用安裝時(shí)間和更多針對(duì)未授權(quán) APK 文件更改的保護(hù)。一般情況下都會(huì)選擇關(guān)閉。

2.2 在相應(yīng)的buildTypes中指定簽名

buildTypes{release{signingConfig signingConfigs.release...}debug{signingConfig signingConfigs.debug...} }

雖然不指定這一步,我們依然能夠正常運(yùn)行,但是為了出不必要的幺蛾子,我們還是把它加上吧。

3. release和debug設(shè)置全局變量

3.1 全局debug開(kāi)關(guān)

寫(xiě)程序就會(huì)要有l(wèi)og,有l(wèi)og我們就需要在打release包的時(shí)候就需要手動(dòng)的設(shè)置debug開(kāi)關(guān)為false,但是在某些情況下我們可能會(huì)忘記關(guān)閉的。所以可以選擇在gradle中通過(guò)buildConfigField定義變量,然后再需要的時(shí)候直接進(jìn)行引用。

buildTypes {release {...buildConfigField "boolean", "isDebug", "false"...}debug {...buildConfigField "boolean", "isDebug", "true"...} }

以上,我們?cè)趦煞N模式中都創(chuàng)建了一個(gè)叫做isDebug的布爾值的變量,根據(jù)類(lèi)型不同設(shè)置值,然后需要重新編譯一下。
編譯完成后直接調(diào)用BuildConfig.isDebug作為開(kāi)關(guān)設(shè)置即可

Debug開(kāi)關(guān).png

關(guān)于BuildConfig的內(nèi)容,可以看下面的截圖

BuildCofig信息.png

3.2 API地址的配置

既然有了全局debug開(kāi)關(guān)的設(shè)置,那么就肯定有這么一個(gè)需求:debug和release下使用不同的API請(qǐng)求地址,其實(shí)也就是和前面一個(gè)套路,直接通過(guò)buildConfigField定義變量。

buildTypes {release {...buildConfigField "boolean", "isDebug", "false"buildConfigField "String", "API", "http://192.168.1.1/release"...}debug {...buildConfigField "boolean", "isDebug", "true"buildConfigField "String", "API", "\"http://192.168.1.1/debug\""...} }

String類(lèi)型一定要記得加雙引用轉(zhuǎn)義。
String類(lèi)型一定要記得加雙引用轉(zhuǎn)義。
String類(lèi)型一定要記得加雙引用轉(zhuǎn)義。

配置API地址.png

后續(xù)敬請(qǐng)期待!
免為其難的關(guān)注一下公眾號(hào)吧!!

生活實(shí)在是太苦啦 FullScreenDeveloper 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Gradle 使用技巧(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。