Реагировать Родная сборка Android не удалась. Местоположение SDK не найдено

Оператор запятой:

  • имеет самый низкий приоритет
  • является лево-ассоциативным

. определенная для всех типов (встроенная и настраиваемая), и работает следующим образом: exprA , exprB:

  • exprA оценивается
  • в результате exprA игнорируется
  • exprB оценивается
  • , результат exprB возвращается как результат всего выражения

. При большинстве операторам, компилятору разрешено выбирать порядок выполнения, и даже требуется пропустить выполнение вообще, если оно не влияет на конечный результат (например, false && foo() пропустит вызов foo). Однако это не относится к оператору с запятой, и вышеупомянутые шаги всегда будут выполняться *.

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

  • Синтаксис C требует единственного выражения , а не оператора. например в синтаксисе if( HERE )
  • C требуется один оператор, не более, например. в инициализации цикла for for ( HERE ; ; )
  • Если вы хотите пропустить фигурные скобки и сохранить один оператор: if (foo) HERE ; (пожалуйста, не делайте этого, это действительно уродливо!)

Когда оператор не является выражением, точка с запятой не может быть заменена запятой. Например, они не разрешены:

  • (foo, if (foo) bar) (if не является выражением)
  • int x, int y (объявление переменной не является выражением)

В вашем случае мы имеем:

  • a=b, c;, что эквивалентно a=b; c;, если предположить, что a имеет тип, который не перегружает
  • a = b, c = d;, эквивалентный a=b; c=d;, если предположить, что a имеет тип, который не перегружает запятую.

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

  • int a, b; --- список объявлений переменных разделен запятыми, но это не запятые
  • int a=5, b=3; - - это также список объявления переменных переменной запятой
  • foo(x,y) --- список аргументов, разделенных запятыми. Фактически, x и y могут быть оценены в в любом порядке !
  • FOO(x,y) --- список аргументов с разделителями-запятыми
  • foo --- список аргументов шаблонов разделенных запятыми
  • int foo(int a, int b) --- список параметров, разделенных запятыми
  • Foo::Foo() : a(5), b(3) {} --- список инициализаторов, разделенных запятыми, в class constructor

* Это неверно, если вы применяете оптимизацию. Если компилятор признает, что определенный фрагмент кода абсолютно не влияет на остальных, он удалит ненужные утверждения.

Дальнейшее чтение: http://en.wikipedia.org/wiki/Comma_operator

407
задан cricket_007 21 November 2016 в 00:12
поделиться

4 ответа

Если local.properties файл отсутствует, просто создайте один в папке "проекта/андроида" с 'sdk.dir =/Users/apple/Library/Android/sdk' и удостоверьтесь свой SDK в на том местоположении.

для создания файла с пользовательскими расширениями на Mac отсылают следующую ссылку

, Как я сохраняю TextEdit (Mac) файл с пользовательским расширением (.sas)?

1
ответ дан 22 November 2019 в 23:16
поделиться

Проблема состоит в том, что Вы неправильно сконфигурировали переменные среды. Необходимо использовать (в Windows) SDK: C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk

Для получения дополнительной информации: https://Выбор facebook.github.io/react-native/docs/getting-started

: Реагируйте Собственный компонент Быстрый запуск CLI в разделе среды разработки Android в точке 3. Настройте ANDROID_HOME переменная среды

, Если Вы делаете это, поскольку у Вас есть он прямо сейчас, необходимо настроить каждый проект использовать переменные среды и если проект среди нескольких человек с их оборудованием, это может вызвать проблему. Если Вы делаете это, как я сказал Вам, Вы не должны будете настраивать проект.

0
ответ дан 22 November 2019 в 23:16
поделиться

Удалите local.properties из папка андроида в Вашем реагировать проект и попробуйте его.

я сделал это и успешно выполнился.

3
ответ дан 22 November 2019 в 23:16
поделиться

Если Вам установили студию андроида, просто открываетесь Project/android использование Studio Android, и это уведомит Вас для переключения пути местоположения SDK в проект.

0
ответ дан 22 November 2019 в 23:16
поделиться
Другие вопросы по тегам:

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