簡體   English   中英

Flutter:如何在gradle腳本中使用dart-define變量

[英]Flutter: How to use dart-define variables in gradle scripts

在為 flutter 應用程序創建集成測試時,如何通過 gradle 腳本傳遞dart-define變量。

從 Flutter 文檔中,為了構建一個儀器測試 apk(稍后將其上傳到 Firebase 測試實驗室進行測試),我們需要直接使用gradlew命令,如下所示:

pushd android
flutter build apk
./gradlew app:assembleAndroidTest
./gradlew app:assembleDebug -Ptarget=integration_test/<name>_test.dart
popd

這里沒有指定如何將我們正在使用的--dart-define標志的內容從 flutter 端flutter rungradlew命令。

Flutter dart-define標志被編碼為 base64,並作為參數名稱為-Pdart-defines的逗號分隔字段傳遞給 gradle。 所以我們可以利用它來手動傳遞dart-define變量

考慮到您的 dart-define 標志是environment=staging

然后在正常運行 flutter 時,您將像這樣使用它。

flutter run --dart-define environment=staging

要通過gradlew命令傳遞它,請將其轉換為 base64 編碼字符串並像下面那樣傳遞。

Base64編碼的字符串environment=stagingZW52aXJvbm1lbnQ9c3RhZ2luZw==

所以使用

./gradlew app:assembleDebug -Ptarget=integration_test/<name>_test.dart -Pdart-defines="ZW52aXJvbm1lbnQ9c3RhZ2luZw=="

如果您有多個 dart 定義,請以逗號分隔添加它們。 (注意標志是 -Pdart-defines -(define s澄清了它))

./gradlew app:assembleDebug -Ptarget=integration_test/<name>_test.dart -Pdart-defines="ZW52aXJvbm1lbnQ9c3RhZ2luZw==,ZW1haWw9bXllbWFpbEBlbWFpbC5jb20="

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM