Не удалось найти свойство ‘outputFile’ на com.android.build.gradle.internal.api.ApplicationVariantImpl

После обновления до версии 1.0 RC 1 и плагина 0.14.4 у меня возникают проблемы с частью переименования моего build.gradle:

applicationVariants.all { variant -> def file = variant.outputFile variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) } 

бросает сейчас:

 Error:(78, 0) Could not find property 'outputFile' on com.android.build.gradle[email protected] 

а также я не могу перейти к classу ApplicationVariantImpl, чтобы посмотреть, как свойство могло быть переименовано. Кто-нибудь знает обходные пути для этого?

попробуй это

 applicationVariants.all { variant -> variant.outputs.each { output -> def file = output.outputFile output.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) } } 

Более всесторонне:

 applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) } } 

Это может произойти по нескольким причинам:

1.) Сначала, как было сказано ранее Халидовым , попробуйте

 applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = ... } } 

2.) Вторая попытка обновить все другие плагины.

Например, я получил эту проблему для Spoon , которая была решена с помощью обновления Spoon до:

 classpath 'com.stanfy.spoon:spoon-gradle-plugin:0.14.1' 

Или там, где есть только один вариант:

 def apk = outputs[0].outputFile 

Вместо

 def apk = variant.outputFile 

Удостоверьтесь, что вы запустили последнюю версию gradleуировки (а не плагин, не сгладьте его).

Проверьте свои параметры gradle-wrapper.properties . Вы используете gradle 2.1?

Дополнительная информация о совместимости: http://tools.android.com/tech-docs/new-build-system/version-compatibility

Мне удалось решить следующее:

старый:

 buildTypes { libertação { runProguard false // esta linha tem que ser mudado proguardFiles getDefaultProguardFile ( 'android.txt proguard-' ), 'proguard-rules.pro' } 

}

новые:

 buildTypes { libertação { minifyEnabled false // nova versão proguardFiles getDefaultProguardFile ( 'android.txt proguard-' ), 'proguard-rules.pro' } 

}

отредактированный в файле buil.gradle вашего проекта, как описано в этом сообщении ruan65 Ошибка: (26, 0) Метод Gradle DSL не найден: ‘runProguard ()’

и после редактирования тоже эта строка:

 applicationVariants . all { variant -> variant . outputs . each { output -> def file = output . outputFile output . outputFile = new File ( file . parent , file . name . replace ( ".apk" , "-" + defaultConfig . versionName + ".apk" )) } 

}

как было сказано там. Это успокоило меня!

  • Многофункциональное приложение, основанное на библиотеке с несколькими вкусами в Android Gradle
  • Управление ключом API Карт Google с помощью Gradle в Android Studio
  • Android Studio: плагин с id 'android-library' не найден
  • Как / когда создавать файлы обложек Gradle?
  • Что такое Gradle в Android Studio?
  • НЕОПРЕДЕЛЕННОЕ ТОП-УРОВЕННОЕ ИСКЛЮЧЕНИЕ: com.android.dex.DexException: несколько файлов dex определяют
  • Как остановить выполнение задачи Gradle в Android Studio?
  • Как получить отчет о покрытии jacoco с помощью плагина Android gradle 0.10.0 или новее?
  • Как заменить строку для buildvariant с помощью gradle в android studio?
  • Как добавить связанную исходную папку в Android Studio?
  • AndroidStudio - Зависимости модhive в Gradle
  • Interesting Posts

    Могу ли я добавить новые методы в class String в Java?

    VT-x включен, но не работает? Winows 8 не может запускать 64-разрядную виртуальную машину

    Используйте LINQ для группировки последовательности чисел без пробелов

    Слабая переменная NSString не равна нулю после установки единственной сильной ссылки на nil

    Миграция Google Диска API v3

    Как веб-сервер знает, используете ли вы прямой доступ к IP-адресу?

    Как KeyListener обнаруживает комбинации клавиш (например, ALT + 1 + 1)

    Android TabWidget обнаружит щелчок на текущей вкладке

    Какой метод работает лучше: .Any () vs .Count ()> 0?

    Разница между двумя датами в Python

    android: создать круговое изображение с пикассо

    Практическое использование битовых полей с нулевой длиной

    Ни один исполняемый файл не нашел совпадающую команду «dotnet-ef»

    MongoDB – аргумент $ size должен быть массивом, но имеет тип: EOO

    Чтение 64-битного реестра из 32-битного приложения

    Давайте будем гением компьютера.