Я получил эту ошибку, пытаясь сгенерировать подписанный APK. Дело в том, что мое приложение может нормально работать и отлаживаться на моем устройстве. Я не знаю, почему, когда я пытаюсь создать APK, эта ошибка появилась. Как игнорировать эту ошибку и сгенерировать подписанный APK? Я использую Android Studio 1.2.1.1 для Mac.
Как игнорировать ошибку "избегать ошибок, отличных от стандартных по фрагментам"?
Ответ 1
Нашел решение. Более простой способ - добавить их в gradle:
android {
lintOptions {
checkReleaseBuilds false
}
}
Или другим способом является добавление @SuppressLint("ValidFragment")
Ответ 2
выключение lint
полностью не является достойным решением, если вы все еще хотите использовать его преимущества. Если кто-то сталкивается с этим, я считаю, что отключить конкретную ошибку только более элегантное решение:
android {
lintOptions {
disable 'ValidFragment'
}
}
Ответ 3
В контракте Фрагмента: "Каждый фрагмент должен иметь пустой конструктор, поэтому он может быть создан при восстановлении его состояния активности. Настоятельно рекомендуется, чтобы в подклассах не было других конструкторов с параметрами, поскольку эти конструкторы не будут вызываемый при повторном создании фрагмента, вместо этого аргументы могут предоставляться вызывающим абонентом с помощью setArguments (Bundle), а затем извлекаются фрагментом с помощью getArguments()."
Ответ 4
Для меня работала только комбинация двух предыдущих ответов:
android {
lintOptions {
disable 'ValidFragment'
checkReleaseBuilds false
}
}
Но помните, что это плохой патч, чтобы избежать предупреждений/ошибок lint, решение состоит в том, чтобы адаптировать конструктор фрагментов к публичному статическому конструктору фрагментов newInstance (params).