Fastlane使用說明

Android自動化打包發(fā)布到Fir.im(基于官方教程)

前序

在網上看到一些fastlane的教程大部分都是發(fā)布到蒲公英中,個人不是很喜歡蒲公英廣告太多之前下載量也少得可憐,于是自己根據官方教程,經歷多次失敗后整理一份發(fā)布fir.im教程,歡迎指正??

1. 安裝快速通道

a. Ruby環(huán)境+Bundler(MacOS / Linux / Windows),如果使用macOS,則不建議直接使用系統Ruby,建議直接使用brew直接進行安裝
b. MacOS 可以使用

brew install fastlane

2. 安裝快速通道

終端CD到項目根目錄/AS點擊TerMinal并運行

fastlane init

系統會要求您確認您已準備好開始,然后再提供一些信息??焖偃腴T:

  1. 在詢問時提供您的應用程序的軟件包名稱(例如io.fabric.yourapp)※ 這個步驟不小心按快了也沒關系,可以在Appfile中重新定義,或者說這個對于國內不上谷歌商店的來說應該不重要(我是這么理解的)
  2. 當詢問您的json機密文件的路徑時,按Enter鍵
  3. 當系統詢問您是否打算通過快速通道將信息上傳到Google Play時,請回答“ n”(我們可以稍后進行設置)

就是這樣!fastlane將根據提供的信息自動為您生成配置。

您可以看到新創(chuàng)建的./fastlane目錄,其中包含以下文件:

  • Appfile 它定義了應用程序全局的配置信息
  • Fastfile它定義了驅動器的行為的“通道” FASTLANE

image.png
(不需要在意actions文件夾,除非咱們想自定義action)

3. 配置Fir.im(基于Fir的Github教程)

  1. 在上一步初始化配置fastlane的項目位置中運行
fastlane add_plugin fir_cli

里面已經內置 fir-cli 這個gem, 直接在fastlane 中直接將文件上傳到 fir.im

會在Pluginfile文件中多出
image.png

  1. 需要在fir網站中進行登錄拿到自己的APIToken
    image.png
  2. 在Fastfile文件中可以看到有
image.png
  1. 其他類型暫時先不考慮,按例咱們可以編寫gofir 的運行方法,注意 運行體要結束要跟隨end
lane :gofir do  
puts "FastLane start goFir~~~" end

這樣一個運行體就寫好了,那咱們該如何使用呢

只要在當前項目所在命令行中運行

fastlane gofir

即可

  1. 運行體寫好了,現在咱們開始編寫運行內真實內容
# 多渠道環(huán)境  
      gradle( 
        task: 'assemble',  # gradle 任務棧 不需要多解釋
        # 這個風味指的是多渠道打包才必須需要配置的, 
        # 否則會找不到具體生成后文件,沒有多渠道需求可以不寫 
        flavor: 'xinyixy_shaanxi', 
        # 編譯類型 不需要多解釋 
        build_type: 'Release'     
        )

# 單渠道環(huán)境 
     gradle(task: 'assemble', build_type: 'Release') 
  1. 是不是會犯愁發(fā)布應用時候版本更新說明要如何寫?
# 所以咱們可以直接采用最新的git提交記錄來充當版本說明 
changelog_from_git_commits(commits_count: 1, merge_commit_filtering: "exclude_merges")
  1. 發(fā)布
 fir_cli api_token: "xxxxxxxxxxxxxxx", # 之前在fir中拿到的APIToken
 # 得到當前編譯后生成的apk路徑 
 specify_file_path: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH],  
 # git最新提交日志說明
 changelog: lane_context[SharedValues::FL_CHANGELOG]  

 OK 大功告成~
  1. 看一下完整的
fastlane_version "2.68.2"   
default_platform :android   
platform :android do   
    lane :gofir do  
        gradle( 
          task: 'assemble', 
          flavor: 'xinyixy_shaanxi', 
          build_type: 'Release' 
          )

  changelog_from_git_commits(commits_count: 1, merge_commit_filtering: "exclude_merges")  

  fir_cli api_token: "xxxxxxxx",
  specify_file_path:   lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], 
  changelog: lane_context[SharedValues::FL_CHANGELOG]  

 end

end 

4. 結束語

這樣發(fā)布到fir就完成了,fastlane同時還支持調用腳本 可以調用 sh 這樣咱們不寫action也可以通過sh實現一些自己想要的功能,例如發(fā)布完成后發(fā)送郵件給測試人員,告知領導任務完成了~

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容