नई सुरक्षा के कारण कैटालिना अपग्रेड के बाद पुराने NDK (android-ndk-r17c) का उपयोग नहीं कर सकते


14

MacOS कैटालिना में अपग्रेड करने के बाद, मेरा प्रोजेक्ट अब नहीं बनेगा। यह कैटेलिना द्वारा 'एंड्रॉइड-एनडीके-आर 17 सी' में बायनेरिज़ पर विश्वास करने के कारण विश्वसनीय डेवलपर से नहीं होने के कारण है।

आपको संदेश मिलते हैं जैसे: "" ld "को खोला नहीं जा सकता क्योंकि डेवलपर सत्यापित नहीं किया जा सकता है।" "macOS यह सत्यापित नहीं कर सकता कि यह ऐप मैलवेयर से मुक्त है"

मुझे देशी ओपनसीवी लाइब्रेरी एसडीके और नए एनडीके के साथ समस्याओं के कारण पुराने एनडीके का उपयोग करना होगा। वे इस पर काम कर रहे हैं, लेकिन नए एसडीके मेरे लिए अभी तक स्थिर नहीं हैं।

मैं "क्लैंग" और "क्लैंग ++" को सुरक्षा फलक पर जाकर काम करने में सक्षम नहीं होने और सुरक्षा अलर्ट पर "अनुमति दें फिर भी" पर क्लिक करने में सक्षम था। हालांकि, "आईडी" के साथ यह कोशिश करते समय, मैं "अनुमति दें" पर क्लिक करके पहली चेतावनी पा सकता हूं, लेकिन बाद में इसे कॉल किया जा सकता है और बाद के कॉल पर मुझे इसे खोलने की अनुमति देने का विकल्प नहीं है।

वास्तव में कोई कोड नहीं है। मेरे पास अभी (और एक लंबे समय के लिए है) एंड्रॉइड स्टूडियो एनडीके संदर्भ को पुराने एनडीके को संकेत के माध्यम से इंगित करता है।

NDK से IDE में, यह "Id" लोड करने में विफल रहता है:

"" Ld "नहीं खोला जा सकता क्योंकि डेवलपर सत्यापित नहीं किया जा सकता है।" "macOS यह सत्यापित नहीं कर सकता कि यह ऐप मैलवेयर से मुक्त है"


Github.com/android/ndk/issues/1060 देखें । मैं नहीं जानता कि आप केवल उनमें से कुछ की अनुमति देने में सक्षम क्यों थे। इसने मेरे लिए अच्छा काम किया।
डैन अल्बर्ट

जवाबों:


21

मुझे सिर्फ समाधान मिला।

यह एक कठिन प्रक्रिया है लेकिन:

  1. MacOS: सिस्टम प्राथमिकताएं खोलें
  2. MacOS: सुरक्षा और गोपनीयता पर जाएं (इसे एक खुला रखें, आपको पूरी प्रक्रिया के लिए इसकी आवश्यकता होगी)
  3. एकता: जाओ और अपनी परियोजना का निर्माण। जब त्रुटि दिखाई देती है तो "रद्द करें" पर क्लिक करें
  4. MacOS: सुरक्षा और गोपनीयता विंडो में - "क्लैंग" त्रुटि के पास "अनुमति दें" पर क्लिक करें - ताकि मैकओएस सिस्टम ऐप को पहचान ले और इसका उपयोग कर सके।
  5. त्रुटि फिर से दिखाई देगी, लेकिन इस बार आपको इसे "ओपन" करने के लिए कहेंगे। "ओपन" पर क्लिक करें
  6. विभिन्न निर्भरताओं के कारण बिल्ड कई बार विफल हो जाएगा, लेकिन यह विभिन्न फ़ाइलों के साथ विफल हो जाएगा जिन्हें आपको पिछले चरणों में अनुमति देने की आवश्यकता होगी।
  7. फिर से अपनी परियोजना बनाएँ।
  8. यदि यह विफल हो जाता है, तो चरणों को फिर से करें, जब तक कि यह विफल न हो जाए। हर एक त्रुटि जो आपको पहचानी नहीं जा रही फाइल के साथ मिलती है, हर बार अलग होगी

2
अतिरिक्त: यदि आपने sudo spctl --master-disableपहले किया था , तो नीचे दिए गए 3 विकल्प मौजूद हैं 'ऐप्स से अनुमति दें डाउनलोड करें':, आपको चरण 4 में 'ऐप स्टोर और पहचाने गए डेवलपर्स' नाम के दूसरे को चुनना चाहिए, ताकि आप 'अनुमति दें' और 'क्लैंग' देख सकें त्रुटि।
लिनजियांग

कृपया उन निर्देशों को जोड़ें जिन्हें आपको सुरक्षा संदेश देखने के लिए सुरक्षा और गोपनीयता के सामान्य टैब पर होना चाहिए।
स्टीव

5

MacOs Catalana पर कहीं से भी डाउनलोड किए गए एप्लिकेशन को ऐसा करने की अनुमति देने के लिए:

sudo spctl --master-disable

क्या यह वास्तव में कुछ भी करता है? मैं अभी भी कुछ भी नहीं चला सकता
लूज

यह कुछ चरणों को हटा सकता है .. इसलिए हमें "तब" "हिट" करने की आवश्यकता है .. अन्यथा प्रत्येक उपकरण द्वारा उपयोग किए जाने वाले हर एक काम को अनुमति दी जानी चाहिए यह एक बुरा सपना सेब है। आइए हम इसे प्रति फ़ोल्डर के आधार पर करते हैं ..
Paschalis

तो "एनीवेयर" दिखाने के लिए, आपको सिक्योरिटी एंड प्राइवेसी मॉड्यूल सेटिंग को छोड़ना होगा। हालाँकि, अब भी मुझे "सत्यापित नहीं किया जा सकता" संदेश मिलता है, लेकिन कहीं भी कोई अनुमति या खुला नहीं है।
UserOneFourTwo

3

मैं मुदस्सर अशरफ के जवाब में जोड़ना चाहूंगा।

यदि आपको « रद्द करें » पर क्लिक करने के बाद « अनुमति » विकल्प दिखाई नहीं देता है , तो «सिक्योरिटी विंडो में» से ऐप में डाउनलोड किए गए ऐप्स को अनुमति दें और डेवलपर्स की पहचान करें »। यह किसी भी तरह « अनुमति » बटन दिखाई देगा। फिर इसे फिर से « कहीं भी » स्विच करें । यदि आवश्यक हो तो दोहराएं।


1

यदि आपके सुरक्षा और गोपनीयता विंडो बटन में किसी कारण से अनुमति नहीं है, तो बस अपने ndk को अलग-अलग निर्देशिका में ले जाएँ और पूरी प्रक्रिया को फिर से आज़माएँ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.