По словам Джона Чамберса, оператор =
разрешен только на «верхнем уровне», что означает, что он не разрешен в структурах управления, таких как if
, что делает следующую ошибку программирования незаконной.
> if(x = 0) 1 else x
Error: syntax error
Как он пишет: «Запрещение новой формы присваивания [=] в контрольных выражениях позволяет избежать ошибок программирования (например, вышеприведенного примера), которые более вероятны с равным оператором, чем с другими S-назначениями».
Вы можете это сделать, если он «изолирован от окружающей логической структуры, скобками или дополнительной парой круглых скобок», поэтому if ((x = 0)) 1 else x
будет работать.
Вы также должны изменить его в структуре проекта.
Там вы идете.
Простейшее решение иногда просто выполняет файл -> Invalidate Cache / Restart .
Если это не поможет, перейдите на более сложные вещи, как это предлагается в других ответы
Если вы уверены, что задали правильный путь SDK в настройках проекта, и вы также можете увидеть его в local.properties, но при этом получить эту ошибку, есть вероятность, что вы что-то упустили в своем проекте.
Я получал ту же ошибку, посмотрев в свой проект, я обнаружил, что настроек отсутствует. [/g0], а затем добавьте следующий сценарий в ваши приложения. build.gradle [/g1]. Вы больше не столкнетесь с этой ошибкой. Это сработало для меня, может быть, настройка градиента была проблемой блокировки
В моем случае это была новая установка с проверкой github.
Его самый быстрый способ, которым я нашел.
Вы можете добавить local.properties, чтобы установить sdk.dir как sdk.dir=/Users/roofe/Library/Android/sdk
.
Но обратите внимание на ниже, что очень важно,
добавить локальный. свойства к самому верхнему пути проекта. Здесь верхняя часть имеет некоторую разницу с корневым путем проекта.
Например, в приведенном ниже проекте я просто использую пример ijkplayer, но этот модуль также использовал другой модуль с другой архитектурой процессора.
Если я добавлю только local.properties в ijkplayer-example, это не сработает. Здесь вы получите вопрос о местонахождении sdk для другого модуля.
Пока я могу добавить local.properties в каталог ijkplayer, тогда, когда я попытаюсь открыть проект примера ijkplayer, будет автоматически создано local.properties для примера ijkplayer, и все работает хорошо.
Быстрое замечание об этом, если вы пытаетесь запустить образец Facebook, и эта ошибка появляется, убедитесь, что вы выбрали файл build.gradle в корневой папке Facebook sdk для всех образцов при открытии существующего проекта. Я получил эту ошибку, когда попытался открыть град только для образца Scrumptious из 3.22 SDK
Итак, у меня была такая же проблема, и ни один из ответов, приведенных ранее, не помог мне. Я сделал проверку новых обновлений API (в моем случае я обновился до уровня API 23), и проблема была исправлена.
Моя проблема была:
Итак, что вам нужно сделать: