2011-10-24 19 views
11

मेरे पास एक एंड्रॉइड सेवा है जो सर्वर सॉकेट पोर्ट 24 से जुड़ने की कोशिश कर रही है। क्योंकि यह विशेषाधिकार प्राप्त बंदरगाह है, यह बाध्य अपवाद के साथ विफल रहा है। मुझे आश्चर्य है कि मुझे यह काम करने के लिए क्या करना है। मुझे लगता है कि इस मंच में इसे दो बार पूछा गया था, लेकिन बिना किसी संकल्प के।एंड्रॉइड में 1024 से कम पोर्ट बंद करने के लिए कैसे?

यह सेवा एंड्रॉइड पर चलने वाले डिवाइस पर चलता है। हम डिवाइस के लिए एंड्रॉइड मंच बनाते हैं। हमारे पास हमारे पास आवश्यक सभी नियंत्रण हैं।

+1

सामान्य लिनक्स ज्ञान के आधार पर, केवल रूट के रूप में चलने वाली प्रक्रिया पोर्ट 24 पर सुन सकती है। क्या आप जावा ऐप्स को रूट के रूप में भी चला सकते हैं? –

+0

सहमत हुए। प्रक्रिया रूट के रूप में चलनी चाहिए, या शायद व्यवस्थापक विशेषाधिकार वाले उपयोगकर्ता आईडी के रूप में (सुनिश्चित नहीं है कि एंड्रॉइड उस लिनक्स अवधारणा का समर्थन करता है)। आमतौर पर, यदि आप डिवाइस को नियंत्रित करते हैं, तो आप जावा में डिमन्स नहीं लिख रहे हैं, लेकिन सी/सी ++ में, और सामान्य लिनक्स डेमॉन समर्थन का उपयोग करके उन्हें शुरू कर रहे हैं। – CommonsWare

+1

विशेषाधिकारों को बढ़ाने का "सु ..." एक विकल्प नहीं है क्योंकि मैं एक बंदरगाह पर बाध्यकारी हूं। मैं एक शेल स्क्रिप्ट को बढ़ाने की कोशिश नहीं कर रहा हूं। चूंकि प्रत्येक एंड्रॉइड ऐप मूल रूप से ज़ीगोट से फोर्क की गई प्रक्रिया है, जब तक कि ज़ीगोट कुछ समय के आधार पर विशेषाधिकार को बढ़ाता है, आप बाध्य नहीं कर सकते हैं। मैं सोच रहा हूं कि ज़ीगोट उस अनुमति देता है या नहीं। अगर ऐसा होता है, तो वह कुछ क्या है? – videoguy

उत्तर

0

एक बंदरगाह 1024 से कम करने के लिए बाध्य करने के लिए, आप रूट करने की आवश्यकता है और वहाँ है कि करने के दो तरीके हैं।

  1. सिस्टम एप्लिकेशन: एप्लिकेशन में/प्रणाली स्थापित किया जाना चाहिए/जहां यह रूट के रूप में चलाया जाएगा से फ़ोल्डर एप्लिकेशन। हालांकि, कुछ हस्ताक्षर मुद्दे हैं जिनके लिए सहायता available है। वितरण सिस्टम ऐप्स के साथ भी एक समस्या है।

  2. su बाइनरी: सु बाइनरी को सरल exec("su -c [command]") का उपयोग करके बुलाया जा सकता है। लेकिन चीजों की तुलना में आसान कहा जाता है। आपको केवल एक ही कमांड नहीं बल्कि एंड्रॉइड प्रक्रियाओं को चलाने की आवश्यकता है। इसलिए, libsuperuser है जो आपको विधियां प्रदान करता है और इसकी पूर्ण लंबाई doc page है।

0

यह एक बहुत ही समान प्रश्न है: Run secure API calls as root, android, हालांकि वे एक अलग कारण के लिए रूट के रूप में चलाने की कोशिश कर रहे हैं।

जो मुझे 'प्रणाली ऐप्स' स्थापित करने के बारे में चिंता किए गए, और मैं इस देखा: https://android.stackexchange.com/questions/27/rooted-how-to-install-a-system-app