Catalina升级后,由于新的安全性,无法使用旧的NDK(android-ndk-r17c)

时间:2019-10-15 08:40:06

标签: android macos android-studio android-ndk macos-catalina

升级到macOS Catalina后,我的项目将不再构建。这是由于Catalina认为'android-ndk-r17c'中的二进制文件不是来自受信任的开发人员。

您收到以下消息: ““ ld”无法打开,因为无法验证开发人员。” “ macOS无法验证此应用程序没有恶意软件”

由于本机openCV库SDK和较新的NDK出现问题,我必须使用旧的NDK。他们正在努力,但是较新的SDK对我来说还不够稳定。

我可以通过转到安全窗格并单击安全警报上的“始终允许”来解决“ clang”和“ clang ++”无法工作的问题。但是,在尝试使用“ Id”进行此操作时,我可以通过单击“仍然允许”来跳过第一个警告,但是它似乎随后被调用,而在随后的调用中,我没有允许它打开的选项。

实际上没有代码。我只是(并且已经有很长时间了)Android Studio NDK参考通过配置指向旧的NDK。

在NDK的IDE中,它无法加载“ Id”:

“” ld“无法打开,因为无法验证开发人员。” “ macOS无法验证此应用程序没有恶意软件”

7 个答案:

答案 0 :(得分:11)

我刚刚找到了解决方法。

这是一个乏味的过程,但是:

  1. MacOS:打开系统偏好设置
  2. MacOS:转到“安全和隐私”(将其保持打开状态,整个过程中都将需要它)
  3. 团结:去建立您的项目。错误出现时,单击“取消”
  4. MacOS:在“安全和隐私”窗口中-转到“ error”错误旁边,然后单击“允许”,以便MacOS系统可以识别该应用并加以利用。
  5. 该错误将再次出现,但是这次将要求您“打开”它。点击“打开”
  6. 由于各种依赖关系,构建将多次失败,但是将失败,并且需要使用与之前步骤相同的其他文件。
  7. 再次构建您的项目。
  8. 如果失败,请再次执行步骤,直到停止失败。您由于无法识别文件而遇到的每个错误每次都会有所不同

答案 1 :(得分:4)

现在有一种更好的解决方法。

您可以进入“安全和隐私”,打开Developer Tools并将您的终端应用添加到工具列表中。可以对您的IDE执行相同的操作。

答案 2 :(得分:2)

要允许从MacOs Catalana上的任何位置下载应用程序,请执行以下操作:

sudo spctl --master-disable

答案 3 :(得分:1)

我想补充穆达萨尔·阿什拉夫(Mudassar Ashraf)的答案。

如果在单击“ 取消”之后看不到“ 允许”选项,请在“安全性”窗口中将“允许从...下载的应用程序”切换到“ App Store”并确定开发者»。这样将使“ 允许”按钮出现。然后将其切换回«任何地方»。如有必要,请重复。

答案 4 :(得分:1)

在ndk目录(ndkpath / toolchains / llvm / prebuilt / darwin-x86_64 / bin /)中找到clang++程序,然后右键单击并打开

答案 5 :(得分:0)

如果由于某种原因在您的“安全性和隐私”窗口按钮中没有出现允许,则只需将ndk移至其他目录,然后重试整个过程即可。

答案 6 :(得分:0)

解决方案如上所述。转到终端并运行此代码以允许“ Anywhere”中的应用程序,并在安全性上确保已选择“ Anywhere”。这样可以避免询问100次,是否要允许从xxx下载xxx文件以及多次构建失败。

sudo spctl --master-disable