Изменить каталог сборки Gradle в Android Studio?
Я только что установил Android Studio, и я только учусь строить с использованием Gradle. Однако при настройке проекта по умолчанию мои сборки находятся в каталоге проекта, и я хотел бы, чтобы они были размещены в другом месте (предпочтительно за пределами каталога проекта). Можно ли этого добиться? Где я могу внести изменения и какие изменения я сделаю?
5 ответов
В корне build.gradle
allprojects {
buildDir = "/path/to/build/${rootProject.name}/${project.name}"
}
Смотрите также Gradle глобальный каталог сборки
и документы https://gradle.org/docs/current/userguide/writing_build_scripts.html
Вы можете передать свойство "buildDir" в gradlew.bat (я бы предположил, что вы можете сделать это и в версии для Linux, но я не проверял это)
Пример:
gradlew.bat assembleRelease -PbuildDir="C:\BuildFolder"
При создании нового приложения с использованием Kotlin DSL по умолчанию действительно не работает. Однако,builDir = file("path")
все еще существует, хотя, тем не менее, он устарел. ПокаsetBuildDir("path")
является его прямым преемником, однако в то же время он также вышел из употребления и был заменен следующим.
По крайней мере, для Kotlin DSL, последний теперь также устарел, и вам следует переключиться на следующий.
layout.buildDirectory.set(file("C:/Users/YourUserNameHere/AppData/Local/Android/build/${rootProject.name}/${project.name}"))
Несмотря на свое названиеfile()
действительно работает и для путей к каталогам
Что касается старого Groovy Gradle
builDir = "path"
по-прежнему является «неустаревшим» способом.
Создал новое приложение за несколько дней с
Android Studio Giraffe | 2022.3.1 Patch 4
Build #AI-223.8836.35.2231.11090377, built on November 13, 2023
Runtime version: 17.0.6+0-b2043.56-10027231 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
и вышеперечисленное больше не работает. Я ненавижу это.
Но обнаружил, что этот делает
allprojects {
setBuildDir("C:/Users/YourUserNameHere/AppData/Local/Android/build/${rootProject.name}/${project.name}")
}
Я использую это, когда хочу запустить/скомпилировать это/любое приложение, пока оно находится в «Моем диске» Google. Таким образом, я могу писать код на нескольких компьютерах.
Файл проекта iml имеет атрибут BUILD_FOLDER_PATH. Я еще не пытался изменить его сам, поэтому не уверен, что это сработает. Значением по умолчанию является $MODULE_DIR$/build.
Изменить: я сделал быстрый тест, и это не сработало. После изменения проект необходимо перезагрузить, поскольку изменился файл iml. После перезагрузки он восстанавливает каталог сборки по умолчанию.