2011-05-25 16 views
17

के लिनक्स यूआईडी प्राप्त करें मैं एक स्थापित एंड्रॉइड एप्लिकेशन के लिनक्स यूआईडी (यूजर आईडी) प्राप्त करने में सक्षम होना चाहता हूं।एंड्रॉइड ऐप

Security and Permissions से उद्धरण: "इंस्टॉल समय पर, एंड्रॉइड प्रत्येक पैकेज को एक अलग लिनक्स उपयोगकर्ता आईडी देता है। पहचान उस डिवाइस पर पैकेज के जीवन की अवधि के लिए स्थिर बनी हुई है।"

क्या इस यूआईडी को पुनः प्राप्त करने का कोई तरीका है?

उत्तर

20

PackageManager और getApplicationInfo() का उपयोग करें।

+0

हाँ, मैं ApplicationInfo कक्षा में पिछले क्षेत्र याद किया। धन्यवाद :) –

+0

क्या आप जानते हैं कि हम एंड्रॉइड के लिनक्स कर्नेल से ऐप का यूआईडी कैसे प्राप्त कर सकते हैं? – user489152

+0

@ user489152 यदि ऐप में वर्तमान में एक खुली प्रक्रिया है, तो 'ps' कमांड जो कर्नेल द्वारा निर्यात/proc/pid संरचना को चलाता है, उस प्रक्रिया के यूआईडी को दिखाएगा। –

6
  • packages.xml फ़ाइल में/डेटा/प्रणाली
  • में/डेटा/प्रणाली

  • packages.list फ़ाइल वर्तमान वर्तमान स्थापित अनुप्रयोगों और उनके इसी यूआईडी की सूची में रखने वाला।

  • 25

    adb shell dumpsys package com.example.myapp | grep userId=

    0
     PackageManager packageManager = getPackageManager(); 
         try { 
          applicationId = String.valueOf(packageManager.getApplicationInfo("com.example.app", PackageManager.GET_META_DATA)); 
         } catch (PackageManager.NameNotFoundException e) { 
          e.printStackTrace(); 
         } 
    
    संबंधित मुद्दे