Impossible d'utiliser l'ancien NDK (android-ndk-r17c) après la mise à niveau de Catalina en raison d'une nouvelle sécurité

14

Après la mise à niveau vers macOS Catalina, mon projet ne se construit plus. Cela est dû au fait que Catalina pense que les binaires dans 'android-ndk-r17c' ne proviennent pas d'un développeur de confiance.

Vous obtenez des messages tels que: "" ld "ne peut pas être ouvert car le développeur ne peut pas être vérifié." "macOS ne peut pas vérifier que cette application est exempte de logiciels malveillants"

Je dois utiliser l'ancien NDK en raison de problèmes avec le SDK de la bibliothèque openCV native et les nouveaux NDK. Ils y travaillent, mais le nouveau SDK n'est pas encore assez stable pour moi.

J'ai pu contourner «clang» et «clang ++» ne pouvant pas fonctionner en allant dans le volet de sécurité et en cliquant sur «Autoriser quand même» dans les alertes de sécurité. Cependant, en essayant ceci avec "Id", je peux passer le premier avertissement en cliquant sur "Autoriser quand même" mais il semble être appelé par la suite et lors de l'appel suivant, je n'ai pas la possibilité de lui permettre d'ouvrir.

Il n'y a pas vraiment de code. J'ai juste (et j'ai depuis longtemps) une référence NDK Android Studio pointant vers l'ancien NDK via la configuration.

Dans IDE de NDK, il ne parvient pas à charger "Id":

"" Ld "ne peut pas être ouvert car le développeur ne peut pas être vérifié." "macOS ne peut pas vérifier que cette application est exempte de logiciels malveillants"

StainlessSteelRat
la source
Voir github.com/android/ndk/issues/1060 . Je ne sais pas pourquoi vous ne pouviez autoriser que certains d'entre eux. Cela a bien fonctionné pour moi.
Dan Albert

Réponses:

21

Je viens de trouver la solution.

C'est un processus fastidieux mais:

  1. MacOS: ouvrir les préférences système
  2. MacOS: accédez à Sécurité et confidentialité (gardez celui-ci ouvert, vous en aurez besoin pour l'ensemble du processus)
  3. Unité: allez construire votre projet. Lorsque l'erreur apparaît, cliquez sur "Annuler"
  4. MacOS: dans la fenêtre Sécurité et confidentialité - cliquez sur "Autoriser" près de l'erreur "clang" - pour que le système MacOS reconnaisse l'application et l'utilise.
  5. L'erreur réapparaîtra, mais cette fois vous demandera de "l'ouvrir". Cliquez sur "Ouvrir"
  6. La construction échouera plusieurs fois en raison de diverses dépendances, mais elle échouera avec différents fichiers que vous devrez autoriser comme dans les étapes précédentes.
  7. Reconstruisez votre projet.
  8. S'il échoue, recommencez les étapes jusqu'à ce qu'il cesse d'échouer. Chaque erreur que vous obtenez avec le fichier non reconnu sera différente à chaque fois
Mudassar Ashraf
la source
2
supplémentaire: Si vous l'avez fait sudo spctl --master-disableauparavant, il existe 3 options ci-dessous 'Autoriser le téléchargement des applications à partir de:', vous devez sélectionner la deuxième nommée 'App Store et développeurs identifiés' à l'étape 4, afin que vous puissiez voir les 'Autoriser' et 'Clang' Erreur.
linjiang
Veuillez ajouter aux instructions que vous devez être dans l'onglet Général de Sécurité et confidentialité pour voir le message de sécurité.
Steve
5

Pour autoriser les applications téléchargées à partir de n'importe où sur MacOs Catalana, procédez comme suit:

sudo spctl --master-disable
YuryP
la source
Cela fait-il réellement quelque chose? Je ne peux toujours rien faire
Luz
Cela peut supprimer quelques étapes .. nous devons donc appuyer sur "autoriser" puis "ouvrir" .. sinon chaque lib unique utilisée par chaque outil doit être autorisée, c'est une pomme de cauchemar. faisons-le par dossier ..
Paschalis
Donc, pour que "N'importe où" apparaisse, vous devez quitter le module Sécurité et confidentialité des Paramètres. Cependant, maintenant je reçois toujours le message "ne peut pas être vérifié", mais il n'y a aucune autorisation ou ouverture nulle part.
UserOneFourTwo
3

Je voudrais ajouter à la réponse de Mudassar Ashraf.

Si vous ne voyez pas l' option « Autoriser » après avoir cliqué sur « Annuler », basculez «Autoriser les applications téléchargées depuis» dans la fenêtre Sécurité sur « App Store et développeurs identifiés ». Cela fera en quelque sorte apparaître le bouton « Autoriser ». Remettez-le ensuite sur « N'importe où ». Répétez si nécessaire.

Sergey Manvelov
la source
1

Si, pour une raison quelconque , le bouton Autoriser de la fenêtre Sécurité et confidentialité ne s'affiche pas, déplacez simplement votre ndk vers un répertoire différent et réessayez l'ensemble du processus.

RadekJ
la source