Nie można użyć starego NDK (android-ndk-r17c) po aktualizacji Catalina ze względu na nowe zabezpieczenia


14

Po uaktualnieniu do macOS Catalina mój projekt już się nie buduje. Wynika to z przekonania Cataliny, że pliki binarne w 'android-ndk-r17c' nie pochodzą od zaufanego programisty.

Otrzymujesz wiadomości typu: „Nie można otworzyć„ ld ”, ponieważ nie można zweryfikować programisty”. „System macOS nie może zweryfikować, czy ta aplikacja jest wolna od złośliwego oprogramowania”

Muszę używać starego NDK z powodu problemów z natywnym zestawem SDK biblioteki openCV i nowszymi NDK. Pracują nad tym, ale nowszy SDK nie jest jeszcze dla mnie wystarczająco stabilny.

Byłem w stanie ominąć „clang” i „clang ++”, nie mogąc pracować, przechodząc do okienka bezpieczeństwa i klikając „Allow Anyway” w alertach bezpieczeństwa. Jednak, gdy próbuję tego z „Id”, mogę ominąć pierwsze ostrzeżenie, klikając „Allow Anyway”, ale wydaje się, że jest wywoływane później, a przy kolejnym wywołaniu nie mam opcji, aby pozwolić mu się otworzyć.

Naprawdę nie ma kodu. Po prostu mam (i miałem od dłuższego czasu) referencję Android Studio NDK wskazującą na stary NDK poprzez konfigurację.

W IDE z NDK nie ładuje „Id”:

„Nie można otworzyć„ ld ”, ponieważ nie można zweryfikować programisty”. „System macOS nie może zweryfikować, czy ta aplikacja jest wolna od złośliwego oprogramowania”


Zobacz github.com/android/ndk/issues/1060 . Nie wiem jednak, dlaczego pozwoliłeś tylko niektórym z nich. Dla mnie działało dobrze.
Dan Albert

Odpowiedzi:


21

Właśnie znalazłem rozwiązanie.

To żmudny proces, ale:

  1. MacOS: otwórz Preferencje systemowe
  2. MacOS: przejdź do Bezpieczeństwo i prywatność (pozostaw to otwarte, będziesz go potrzebować przez cały proces)
  3. Jedność: idź i zbuduj swój projekt. Gdy pojawi się błąd, kliknij „Anuluj”
  4. MacOS: W oknie Bezpieczeństwo i prywatność - kliknij i kliknij „Zezwalaj” obok błędu „clang” - aby system MacOS rozpoznał aplikację i wykorzystał ją.
  5. Błąd pojawi się ponownie, ale tym razem poprosi cię o jego „otwarcie”. Kliknij „Otwórz”
  6. Kompilacja nie powiedzie się kilka razy z powodu różnych zależności, ale zakończy się niepowodzeniem z innymi plikami, które musisz zezwolić, tak jak w poprzednich krokach.
  7. Zbuduj ponownie swój projekt.
  8. Jeśli się nie powiedzie, wykonaj te czynności ponownie, aż przestanie działać. Każdy błąd, który wystąpi w wyniku nierozpoznania pliku, będzie za każdym razem inny

2
dodatkowo: Jeśli wcześniej tak sudo spctl --master-disablebyło, istnieją 3 opcje poniżej „Zezwalaj na pobieranie aplikacji z:”, w kroku 4 wybierz drugą o nazwie „App Store i zidentyfikuj programistów”, aby zobaczyć „Zezwalaj” i „brzęcz” błąd.
linjiang

Dodaj do instrukcji, które muszą znajdować się na karcie Ogólne w obszarze Bezpieczeństwo i prywatność, aby zobaczyć komunikat bezpieczeństwa.
Steve

5

Aby zezwolić na aplikacje pobrane z dowolnego miejsca na MacO Catalana:

sudo spctl --master-disable

Czy to faktycznie coś robi? Nadal nic nie mogę uruchomić
Luz

Może to usunąć kilka kroków .. więc musimy nacisnąć „zezwól”, a następnie „otwórz” .. w przeciwnym razie każda pojedyncza biblioteka używana przez każde narzędzie musi być dozwolona, ​​to jest koszmarne jabłko. zróbmy to dla poszczególnych folderów ..
Paschalis

Aby więc „Anywhere” się pojawiło, musisz pozostawić moduł Bezpieczeństwo i prywatność Ustawienia. Jednak teraz nadal pojawia się komunikat „Nie można zweryfikować”, ale nigdzie nie ma zezwolenia ani otwarcia.
UserOneFourTwo

3

Chciałbym dodać do odpowiedzi Mudassara Ashrafa.

Jeśli nie widzisz opcji « Zezwalaj » po kliknięciu « Anuluj », przełącz «Zezwól aplikacjom pobranym z» w oknie Zabezpieczenia na « App Store i zidentyfikowani programiści ». To w jakiś sposób sprawi, że pojawi się przycisk « Zezwól ». Następnie przełącz go z powrotem na « Anywhere ». Powtórzyć w razie potrzeby.


1

Jeśli z jakiegoś powodu w oknie Zabezpieczenia i prywatność przycisk zezwól się nie pojawi, po prostu przenieś ndk do innego katalogu i spróbuj ponownie cały proces.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.