天天看點

項目gradle學習之路(1)

1.寫在前面

一般在項目開發中,我們打包時每次可以通過as提供的UI界面來操作,步驟一般是 Build-->Generate Signed APK,這種比較簡單 這裡内容不錯。但是在實際開發中,這樣比較麻煩,并且 如果我們在使用第三方的服務,比如微信第三方登入時,在建立項目時它一般要我們填寫簽名的SHA值,無疑,我們填寫的是釋出版的簽名,但是這樣就導緻在平時測試時很麻煩,因為我們在AS點選運作按鈕時,當項目跑到手機上會預設使用debug版本的簽名,那這樣就測試不了了。如果我們每次通過Generate Signed APK獲得apk後到手機安裝測試,那太麻煩了。 是以我們希望可以在gradle中配置,實作: 1.打包簽名時不用那麼麻煩,比如填寫别名 密碼(雖然可以儲存),直接通過build apk可以得到; 2.如果有類似微信第三方登入功能(填寫釋出版keystore的SHA1值)測試時可以友善點。

2.完成

(一) 其實在gradle配置别名 密碼的方法很多,可以通過AS提供的UI界面,也可以直接通過寫代碼的方式,直接UI界面我不太習慣,但是也學習了一遍,大緻步驟是,在Project的格式預覽下,右鍵整個項目把Project Structure打開,可以看到如下圖的界面

項目gradle學習之路(1)

然後将裡面的内容全部填寫好,點選OK就會在build.gradle裡面生成相應的代碼,在回到這個界面在Build Types裡面引用剛才的自己定義的signingConfigs裡面的内容。

項目gradle學習之路(1)

OK好了,這是一種,因為我不喜歡用,第二種就是全部都在build.gradle中用代碼完成,其實和剛才一i樣,剛才上面的内容全部填寫完,會自動把代碼生成在gradle.build裡面。第二種檔案在寫上如下代碼 android{

xxxxxxxxxxxx

signingConfigs {

release {

keyAlias 'kstar'

keyPassword ''

storeFile file('D:/android/AsWorkSpace/PowerDevice/app/ksolar.jks')

storePassword ''

} debug{ }

}

然後再在buildTypes中引用剛才定義的,引用的代碼如下 signingConfig sigingConfig.release 這名字是可以随便自己定義的,隻要保持一緻就可以了。 然後使用的話,直接點選Build-->Select Build Variant...

項目gradle學習之路(1)

選擇你想要打包出來的,如下圖,選擇好以後點選Build APK,就會把相應的apk(測試版和釋出版)生成在app\build\outputs\apk下面

項目gradle學習之路(1)

(二)

對于第二個要求,其實我們可以從上面看到一些啟發,就可以很“流氓的解決”,比如我們直接在signingConfigs 中配置的兩種模式,release和debug都使用釋出版本的keystore,這樣在AS中運作項目時,就是使用我們寫的發版本的簽名打包。這樣就解決問題了,其實根據這種思路,我們還可以在buildTypes中的debug引用時 引用signingConfigs中release的配置,哈哈,服了吧,感覺挺“流氓的”,這樣也可以解決。

ps:一直在用公司的開發項目測試配置gradle,是以我會慢慢豐富學習gradle的使用,豐富它,這是第一篇有關的文章,後面慢慢都會記錄下來

繼續閱讀