По сути, это копия текста, который я написал в Эта проблема.
Любая помощь будет оценена по достоинству:
Я пытаюсь обновить свой проект до плагина gradle 3.3 с gradle 4.10.1, и моя сборка завершается со следующей ошибкой
java.io.FileNotFoundException: /main/property(interface org.gradle.api.file.Directory, transform(property(interface org.gradle.api.file.Directory, fixed(class org.gradle.api.internal.file.DefaultProjectLayout$FixedDirectory, /main/build))))/AndroidManifest.xml (No such file or directory)
мой код идентичен коду здесь - https://developer.android.com/studio/known-issues#variant_api в разделе "manifestOutputFile больше не доступен"
android.applicationVariants.all { variant ->
variant.outputs.all { output ->
output.processManifest.doLast {
// Stores the path to the maifest.
String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
// Stores the contents of the manifest.
def manifestContent = file(manifestPath).getText()
...
}
}
}
и это строка, которая выдает ошибку -
def manifestContent = file(manifestPath).getText()
Обновлять: попробовал решение, предложенное в комментарии ниже этот ответ, и получил следующую ошибку
- What went wrong: Execution failed for task ‘:main:processDebugManifest’. Could not find matching constructor for: java.io.File(org.gradle.api.internal.file.DefaultProjectLayout$DefaultDirectoryVar, java.lang.String)





def outputDir = manifestOutputDirectory
File directory
if (outputDir instanceof File) {
directory = outputDir
} else {
directory = outputDir.get().asFile
}
String manifestPath = directory.toString() + "/AndroidManifest.xml"
Попробуйте заменить
String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
с участием
String manifestPath = new File(output.processManifest.manifestOutputDirectory.get().asFile, "AndroidManifest.xml")
У меня была такая же проблема, как описано выше. Не градуированный эксперт. Это начало происходить, когда я обновил Gradle до 4.10.2. После некоторого времени, проведенного в поиске решения в Google и поиске решения в документации Gradle, в конечном итоге это сработало для меня.
Всем привет! Можете ли вы дать нам больше информации о том, что делает ваше решение и почему оно решает проблему? Спасибо.