[英]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 run
到gradlew
命令。
Flutter dart-define
標志被編碼為 base64,並作為參數名稱為-Pdart-defines
的逗號分隔字段傳遞給 gradle。 所以我們可以利用它來手動傳遞dart-define
變量
考慮到您的 dart-define 標志是environment=staging
然后在正常運行 flutter 時,您將像這樣使用它。
flutter run --dart-define environment=staging
要通過gradlew
命令傳遞它,請將其轉換為 base64 編碼字符串並像下面那樣傳遞。
Base64編碼的字符串environment=staging
是ZW52aXJvbm1lbnQ9c3RhZ2luZw==
所以使用
./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.