使用gradle生成protobuf

2022-09-18 11:48:12 字數 1291 閱讀 9568

之前介紹的都是使用protoc工具進行protobuf**的生成,下面我們看下如何使用gradle外掛程式進行proto檔案的編譯和**生成。

在google的github下有protobuf-gradle-plugin這個專案,這是用於生成protobuf的gradle官方外掛程式(這個外掛程式需要gradle2.12版本以上),在gradle的build檔案加上對應外掛程式:

buildscript

dependencies

}上面的外掛程式將會新增extractincludeproto(獲得依賴proto),extractproto(獲得編譯的proto檔案),generateproto(編譯)任務,同時會將他們都配置進build,這樣系統構建時都會重新執行這些任務。

protobuf 

該配置設定protoc生成**的目標目錄,生成的具體目錄還會追加package的對應目錄

sourcesets 

j**a

}}

預設使用系統path下設定的protoc,這裡還可以定義特定的protoc程式

protobuf 

}//或者

protobuf

}

之前介紹的都是使用protoc工具進行protobuf**的生成,下面我們看下如何使用gradle外掛程式進行proto檔案的編譯和**生成。

在google的github下有protobuf-gradle-plugin這個專案,這是用於生成protobuf的gradle官方外掛程式(這個外掛程式需要gradle2.12版本以上),在gradle的build檔案加上對應外掛程式:

buildscript

dependencies

}上面的外掛程式將會新增extractincludeproto(獲得依賴proto),extractproto(獲得編譯的proto檔案),generateproto(編譯)任務,同時會將他們都配置進build,這樣系統構建時都會重新執行這些任務。

protobuf 

該配置設定protoc生成**的目標目錄,生成的具體目錄還會追加package的對應目錄

sourcesets 

j**a

}}

預設使用系統path下設定的protoc,這裡還可以定義特定的protoc程式

protobuf 

}//或者

protobuf

}

如何用proto生成檔案

生成的結果中有庫檔案有 libprotobuf.lib libprotobuf lite.lib libprotoc.lib 可執行檔案有 protoc.exe 標頭檔案 根據提供的extract includes.bat檔案,提取公共標頭檔案。二 編寫proto檔案 根據需要,編寫proto檔案。...

使用gradle實現批量修改生成的apk檔名

在我們一次性打幾十個渠道包的時候,如果我們想讓打包完成的apk檔名按照我們想要的格式來命名,比如明確的apk的版本號,打包日期,那個渠道的包等等,這時就需要使用gradle的variants屬性來動態修改生成的apk檔名 def buildtime android apk output.output...

proto3 語法 使用

1.指定proto版本,預設是2 eg syntax proto3 必須在檔案的首行 2.指定包 package 類似於c 的命名空間 3.定義message 4.具體參見上文部落格 note 前後協議相容擴充套件的時候,每個字段一定要保證tag是一致的,並且不能復用,否則可能出現資料錯亂問題。協議...