Решение этой проблемы постоянно меняется с течением времени, когда Unity и Android SDK меняются.
Обратите внимание, что его проблема, по-видимому, исправлена в Unity 2017.1.
ПОСЛЕДНЕЕ РЕШЕНИЕ
1) Для Windows загрузите "tools_r25.2.3-windows.zip" и разархивируйте его.
2) Для MacOSX загрузите "tools_r25. 2.3-macosx.zip " и разархивируйте его.
3) Добавьте путь распакованного SDK к настройкам Edit -> ] ---> Внешние инструменты ---> SDK box.
STILL NOT WORKING?
Удалить SDK Tools 25 и Android SDK Tools 26. Удалить как SDK Platform-Tools, так и SDK Tools. Используйте номер версии ниже.
OLD SOLUTION:
Вы не правильно настроили SDK .
Для настройки Android SDK выполните следующие действия.
1. Убедитесь, что в SDKpath нет пробелов. Поэтому создайте папку с именем AndroidSDK
в каталоге C
.
2. Скопируйте папку Android-sdk
в каталог C:/AndroidSDK
.
Теперь ваш путь к SDK должен выглядеть так:
C:/AndroidSDK/Android-sdk
3. Обновите свой Android SDK-путь в редакторе Unity.
Теперь проверьте, работает ли это, пытаясь снова создать для Android.
Если это не удается, продолжайте снизу
4. Загрузите последнюю версию Unity.
5. Перезагрузите SDK , затем скопируйте файл в C:/AndroidSDK/Android-sdk
.
6. Вернитесь в Unity и обновите путь
7. Создайте проект для Android еще раз, он покажет ошибку и попросит вас обновить SDK.
Нажмите кнопку «Обновить Android SDK». Unity автоматически обновит ваш SDK. Затем ваш SDK должен выглядеть как-то внизу. Ваша проблема должна быть удалена.
Если вы используете Perl 5.10, у вас есть given
/ when
, который является оператором переключения (обратите внимание, что он может сделать больше, чем сравнение с регулярными выражениями, прочитайте связанные документы, чтобы увидеть его полный потенциал ):
#or any of the dozen other ways to tell 5.10 to use its new features
use feature qw/switch/;
given($string) {
when (/^abc/) { $abc = 1; }
when (/^def/) { $def = 1; }
when (/^xyz/) { $xyz = 1; }
default { $nothing = 1; }
}
Если вы используете Perl 5.8 или более раннюю версию, вы должны выполнить операторы if
/ elsif
/ else
:
if ($string =~ /^abc/) { $abc = 1; }
elsif ($string =~ /^def/) { $def = 1; }
elsif ($string =~ /^zyz/) { $xyz = 1; }
else { $nothing = 1; }
или вложенные ] операторы условия (?:
) :
$string =~ /^abc/ ? $abc = 1 :
$string =~ /^def/ ? $def = 1 :
$string =~ /^xyz/ ? $xyz = 1 :
$nothing = 1;
В Core Perl есть модуль ( Switch ), который выдает ложные операторы switch через исходные фильтры , но я понимаю, что он хрупок :
use Switch;
switch ($string) {
case /^abc/ {
case /^abc/ { $abc = 1 }
case /^def/ { $def = 1 }
case /^xyz/ { $xyz = 1 }
else { $nothing = 1 }
}
или альтернативный синтаксис
use Switch 'Perl6';
given ($string) {
when /^abc/ { $abc = 1; }
when /^def/ { $def = 1; }
when /^xyz/ { $xyz = 1; }
default { $nothing = 1; }
}
print("OK : 1 - CANCEL : 2\n");
my $value = <STDIN>;
SWITCH: {
($value == 1) && last(SWITCH);
($value == 2) && do {print("Cancelled\n"); exit()};
print("??\n");
}
Предложение в программировании Perl:
for ($string) {
/abc/ and do {$abc = 1; last;};
/def/ and do {$def = 1; last;};
/xyz/ and do {$xyz = 1; last;};
$nothing = 1;
}
Небольшой комментарий о модуле ядра Switch , который упоминался несколько раз в ответах , Рассматриваемый модуль полагается на исходные фильтры. Среди прочего, это может привести к появлению неверных строк в сообщении об ошибках. Это так плохо, что никто из разработчиков ядра действительно не помнит или не позаботится вспомнить, почему он был принят в ядро Perl в первую очередь.
Кроме того, Switch.pm будет первым модулем Perl, который когда-либо будет удален из ядра Perl , В следующем крупном выпуске perl, 5.12.0, он все еще будет, хотя и с предупреждением об устаревании. Это предупреждение об устаревании исчезнет, если вы явно установите Switch.pm из CPAN. (Вы получите то, о чем просите.) В следующем выпуске 5.14 Switch.pm будет полностью удален из ядра.
Мне нравится эквивалентное решение диспетчерская таблица .
my $switch = {
'case1' => sub { print "case1"; },
'case2' => sub { print "case2"; },
'default' => sub { print "unrecognized"; }
};
$switch->{$case} ? $switch->{$case}->() : $switch->{'default'}->();