gradlew
или gradlew.bat
- это исполняемый файл Gradle, который можно использовать для выполнения команд gradle .
gradlew
или gradlew.bat
использует для исполнения файл gradle/wrapper/gradle-wrapper.jar
.
Итак, в игре 3 файла:
-
gradlew
для ма c и linux gradlew.bat
для windows gradle/wrapper/gradle-wrapper.jar
Дело в том, что эти файлы уже существуют при создании проекта flutter . Но эти файлы игнорируются по .gitignore
проекта по умолчанию. поэтому эти файлы не будут доступны на вашем CI / CD сервере.
МЕТОД 1 [РЕКОМЕНДУЕТСЯ]
Они не нужны для создания вашего проекта, когда он это флаттер проект. Вам нужно установить SDK Flutter. Вы можете использовать Flutter SDK для создания вашего проекта. Используйте следующую команду для сборки выпуска [вам может понадобиться установить flutter SDK для вашего Jenkins сервера]:
flutter build apk --release
Он будет запускаться assembleRelease
внутри и будет генерировать ваш файл APK.
МЕТОД 2 [НЕ РЕКОМЕНДУЕТСЯ]
Если вы хотите сделать это по-своему, то вы можете добавить эти 3 файла в систему контроля версий, удалив их ссылки из файла .gitignore
и pu sh it в ваш репозиторий. Тогда у вас будет этот файл в вашем рабочем пространстве Jenkins . Вам нужно будет предоставить разрешения на выполнение gradlew
, если вы находитесь на ма c или linux, что можно сделать с помощью следующей команды.
chmod +x ./gradlew
, затем вы можете использовать следующую команду для создания приложения:
./gradlew clean assembleRelease
ВНИМАНИЕ: Метод 2 не рекомендуется, потому что когда вы запускаете команды флаттера, он устанавливает некоторые свойства выходить из файла pubspec.yaml
, например version name
, version code
. Таким образом, если вы внесли изменения в файл pubspec.yaml
и после этого не выполнили команду flutter, то запуск gradlew
напрямую не будет включать эти изменения. В этом случае ваш apk может быть собран с более старой версией или может даже не скомпилироваться, так как он читает информацию о версии из файла local.properties
, который автоматически модифицируется командами флаттера и по умолчанию исключается из контроля версий. Таким образом, вам также нужно будет добавить файл local.properties
, удалив его ссылку из файла .gitignore
, который очень очень грязный, поскольку у него есть ссылка на местоположение android SDK, а на вашем сервере может не быть android SDK в этом месте , Опять же, вам нужно заняться этим. так что не используйте этот метод.