Неможливо використовувати старий NDK (android-ndk-r17c) після оновлення Catalina через нову безпеку


14

Після оновлення до macOS Catalina мій проект більше не будуватиметься. Це пов'язано з тим, що Каталіна вважає, що бінарні файли в 'android-ndk-r17c' не від надійного розробника.

Ви отримуєте повідомлення типу "ld" неможливо відкрити, оскільки розробник не може бути перевірений. " "macOS не може перевірити, що ця програма не містить шкідливих програм"

Мені доводиться використовувати старий NDK через проблеми з рідною SDK-бібліотекою openCV та новішими NDK. Вони над цим працюють, але новіший SDK ще недостатньо стабільний для мене.

Мені вдалося обійти "clang" та "clang ++", не працюючи, перейшовши на панель безпеки та натиснувши "Allow Anyway" ("Дозволити все одно") на попередженнях про безпеку. Однак, спробувавши це за допомогою "Id", я можу пройти через перше попередження, натиснувши "Дозволити все одно", але це, здається, викликається згодом, і при наступному дзвінку я не маю можливості дозволити його відкритись.

Дійсно немає коду. Я просто маю (і мав давно) посилання на Android Studio NDK, що вказує на старий NDK через конфігурацію.

У IDE від NDK не вдається завантажити "Id":

"" Ld "неможливо відкрити, оскільки розробник не може бути перевірений." "macOS не може перевірити, що ця програма не містить шкідливих програм"


Див. Github.com/android/ndk/isissue/1060 . Я не знаю, чому ви змогли дозволити лише деякі з них. Це добре працювало для мене.
Ден Альберт

Відповіді:


21

Я просто знайшов рішення.

Це копіткий процес, але:

  1. MacOS: відкрийте системні налаштування
  2. MacOS: перейдіть у розділ Безпека та конфіденційність (тримайте цей відкритим, він знадобиться для всього процесу)
  3. Єдність: ідіть і будуйте свій проект. Коли з’явиться помилка, натисніть «Скасувати»
  4. MacOS: у вікні Безпека та конфіденційність - перейдіть та натисніть "Дозволити" біля помилки "кланг", щоб система MacOS розпізнала додаток та використовувала його.
  5. Помилка з’явиться знову, але цього разу попросити її «Відкрити». Натисніть "Відкрити"
  6. Збірка буде виходити з ладу кілька разів через різні залежності, але вона вийде з ладу з різними файлами, які вам потрібно буде дозволити, як у попередніх кроках.
  7. Створіть знову свій проект.
  8. Якщо вона не вдається, виконайте кроки ще раз, поки вона не припиниться. Кожна помилка, яку ви отримаєте, коли файл не буде розпізнаний, буде кожен раз різним

2
додатково: Якщо раніше ви робили sudo spctl --master-disable, є 3 варіанти нижче "Дозволити завантаження програм із:", вам слід вибрати другий під назвою "Магазин додатків та визначені розробники" на кроці 4, щоб ви могли побачити "Дозволити" та "Кланг" помилка.
Ліньцзян

Будь ласка, додайте до інструкцій, що вам потрібно перейти на вкладку Загальні щодо безпеки та конфіденційності, щоб побачити повідомлення про безпеку.
Стів

5

Щоб дозволити програмам, завантаженим з будь-якого місця на MacOs Catalana, зробіть це:

sudo spctl --master-disable

Це насправді щось робить? Я досі нічого не можу запустити
Luz

Це може усунути кілька кроків .. тому нам потрібно натиснути "дозволити", потім "відкрити" .. інакше повинна бути дозволена кожна окрема кришка, яка використовується кожним інструментом, це яблуко кошмару. зробимо це за принципом папок ..
Пасхаліс

Отже, щоб відобразити "В іншому місці", ви повинні залишити модуль "Безпека та конфіденційність" Параметри. Однак зараз я все ще отримую повідомлення "не може бути підтверджено", але немає дозволу або відкриття ніде.
UserOneFourTwo

3

Я хотів би додати відповідь Мудассара Ашрафа.

Якщо ви не бачите « Дозволити » варіант після клацання « Скасування », перемикач «Дозволити додаткам завантажити з» у вікні безпеки на « App Store і ідентифікованих розробників ». Це якось призведе до появи кнопки « Дозволити ». Потім переключіть його назад на « Anywhere ». Повторіть, якщо потрібно.


1

Якщо з якихось причин у вікні безпеки та конфіденційності кнопка дозволу не з’являється, просто перенесіть свій ndk в інший каталог і спробуйте весь процес ще раз.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.