Обнаружение честных поисковых роботов

Это обновление Gradle вызвало эту ошибку в Android Studio 3.2.1. Я считаю, что Android Studio обычно обратно совместима с (некоторыми) предыдущими версиями Gradle. Возможно, в некоторых случаях он также может работать с более новой версией Gradle. Тем не менее, похоже, что Android Studio 3.2.1 не совместима с версиями Gradle выше 4.6 и плагином Android более новыми, чем 3.2.1, особенно если вы используете в своем файле Gradle внешний собственный блок сборки cmake, который, как я догадываюсь, вам используете (основываясь на ошибке в вашем вопросе).

Android Studio предложила мне обновить Gradle и Android Plugin до более новой версии, а затем сборка завершилась с той же ошибкой, что и вы.

enter image description here

enter image description here

Если вам на самом деле не нужно использовать cmake, вы может закомментировать путь к файлу cmake path "CMakeLists.txt" или даже лучше всего блоку externalNativeBuild. Я не экспериментировал, в какой степени новый плагин Gradle и Android будет работать в Android Studio 3.2.1, если вы не используете CMake.

Похоже, что единственный выход из этой ситуации - вернуться к исходной версии Gradle и плагина Android. ОК ... Или обновить до Android Studio 3.3. Будьте осторожны при обновлении до Android Studio 3.3, так как этот нарушил интеграцию JNI / C ++ для меня. Сначала попробуйте автономную версию ZIP-файла AS 3.3 или убедитесь, что у вас есть резервные копии.

Чтобы понизить Gradle, пожалуйста, откройте gradle/wrapper/gradle-wrapper.properties и измените distributionUrl на это значение:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

. Чтобы понизить плагин Android, откройте корневой файл build.gradle и измените путь к классу:

classpath 'com.android.tools.build:gradle:3.2.1'

В качестве альтернативы вы также можете нажать Ctrl-Alt-Shift-S (в Windows, не обязательно для MacOS / Linux), чтобы получить доступ к File -> Project Structure и переключиться в раздел Project, где вы можете обновить оба Gradle. и версии плагинов Android до 4.6 и 3.2.1 соответственно:

enter image description here

Это может не решить вашу проблему Firebase ... Но она должна ответить ваш вопрос и вернет вас к решению проблемы Firebase.

36
задан j0k 26 January 2013 в 11:03
поделиться

4 ответа

Можно найти очень полную базу данных данных по известным "хорошим" поисковым роботам в robotstxt.org База данных Роботов . Использование этих данных было бы намного более эффективным, чем просто соответствие бот в агенте пользователя.

25
ответ дан Sparr 27 November 2019 в 05:12
поделиться

Одно предложение состоит в том, чтобы создать пустую привязку на Вашей странице, за которой следовал бы только бот. Обычные пользователи не видели бы ссылку, оставляя пауков и ботов для следования. Например, пустой тег привязки, который указывает на подпапку, записал бы получить запрос в Ваших журналах...

<a href="dontfollowme.aspx"></a>

Многие люди используют этот метод при выполнении HoneyPot для ловли злонамеренных ботов, которые не следуют за файлом robots.txt. Я использую пустой метод привязки в решение для ловушки ASP.NET, которое я записал, чтобы захватить и заблокировать те жуткие поисковые роботы...

9
ответ дан Dscoduc 27 November 2019 в 05:12
поделиться

Любой посетитель, титульной страницей которого является /robots.txt, является, вероятно, ботом.

5
ответ дан Sparr 27 November 2019 в 05:12
поделиться

Что-нибудь быстрое и грязное, вроде этого, могло бы стать хорошим началом:

return if request.user_agent =~ /googlebot|msnbot|baidu|curl|wget|Mediapartners-Google|slurp|ia_archiver|Gigabot|libwww-perl|lwp-trivial/i

Примечание: код rails, но регулярное выражение обычно применимо.

4
ответ дан 27 November 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: