टी एल; डॉ
यह समस्या तब होती है जब कोई एप्लिकेशन त्रुटि संदेश के साथ मौजूदा अनुमति को फिर से घोषित करने की कोशिश कर रहा है INSTALL_FAILED_DUPLICATE_PERMISSION
। यह मुख्य रूप से एप को प्रभावित करता है जो Adobe AIR (पैकेज प्रीफिक्स के साथ com.air
) पर आधारित हैं । मुख्य कारण लॉलीपॉप 5.0 में अलग अलग कोड कार्यान्वयन जब कोई ऐप पर हस्ताक्षर करने के लिए इस्तेमाल एक प्रमाण पत्र के हस्ताक्षर की पुष्टि करने के लिए है। समाधान के लिए, बस "समाधान" भाग पर छोड़ें।
अपडेट : Google ने लॉलीपॉप 5.0.1 पर इस मुद्दे को तय किया है।
तकनीकी जानकारी
Android L डेवलपर प्रीव्यू इश्यू ट्रैकर के अंश जो AOSP समस्या ट्रैकर पर एक प्रविष्टि से जुड़े हैं ,
पोस्ट # 4 :
logcat मुझे बताता है कि इंस्टालेशन के दौरान रिडक्लेमरिंग अनुमतियों के साथ संघर्ष है (मेरे मामले में, अमेज़ॅन getui.permission.GetuiService को फिर से खोलने की कोशिश कर रहा है, जो पहले से ही कैमरा 360 के स्वामित्व में है)
पोस्ट # 12 का लॉगकट :
10-25 08:06:37.805 749 824 W PackageManager: Package com.tencent.mm attempting to redeclare permission com.google.android.c2dm.permission.SEND already owned by com.google.android.gsf
10-25 08:06:37.926 4812 4812 D Finsky : [1] PackageInstallerImpl.cancelSession: Canceling session 121130466 for com.tencent.mm
10-25 08:06:37.926 4812 4812 E Finsky : [1] PackageInstallerImpl.handleCommitCallback: Error -505 while installing com.tencent.mm: INSTALL_FAILED_DUPLICATE_PERMISSION: Package com.tencent.mm attempting to redeclare permission com.google.android.c2dm.permission.SEND already owned by com.google.android.gsf
10-25 08:06:37.926 4812 4812 W Finsky : [1] 4.installFailed: Install failure of com.tencent.mm: -505 null
10-25 08:06:37.933 749 749 D ZenLog : intercepted: 0|com.android.vending|-973170826|null|10017,!priority
10-25 08:06:37.933 749 749 V NotificationService: pkg=com.android.vending canInterrupt=false intercept=true
10-25 08:06:37.964 4812 4812 D Finsky : [1] InstallerTask.cancelCleanup: Cancel running installation of com.tencent.mm
AOSP समस्या ट्रैकर के अंश ,
पोस्ट # 4
API19 में नया X509CertImpl (encCert) प्रमाणपत्र लपेटता है (जो पहले से ही पार्स किया गया है और SHA1 अभिकलन के लिए तैयार है), जबकि API 21 में, प्रमाण पत्र को बाइट स्ट्रीम के रूप में अग्रेषित किया जाता है, फिर से प्रमाण पत्र दिया जाता है और एक प्रमाण पत्र कारखाने द्वारा संसाधित किया जाता है। कौन सा कारखाना है, संदर्भ पर निर्भर करता है। मेरे द्वारा परीक्षण किए गए एल उपकरणों के मामले में, कारखाना एक OpenSSLX509Certificate बनाएगा। दुर्भाग्य से, हमारे प्रमाण पत्र में कुछ ऐसा है जो ओप्सल प्रसंस्करण के दौरान फिंगरप्रिंट समस्या से परेशान है और फिंगरप्रिंट बदलता है। जब मैं हमारे प्रमाणपत्र को किसी अन्य प्रारूप (जैसे, पीईएम) में परिवर्तित करता हूं, तो मैं इसे ओपन टूल के साथ भी पुन: पेश कर सकता हूं।
यदि SHA1 की गणना सीधे 'encCert.getEncoded ()' पर की जाएगी, तो यह दोनों मामलों में सही होगा।
समाधान
अपडेट : 2014-12-04 तक, Google ने लॉलीपॉप 5.0.1 पर इस मुद्दे को ठीक कर दिया है। उन लोगों के लिए, जिन्होंने ऐप को फिर से स्थापित करने के लिए कोई भी वैकल्पिक हल नहीं किया है, आप ओटीए की प्रतीक्षा करने के लिए तैयार होने पर लॉलीपॉप 5.0.1 छवि को फ्लैश कर सकते हैं।
पोस्ट # 20, # 21
ऐसा लगता है कि 5.0.1 में तय किया गया है:
https://android.googlesource.com/platform/libcore/+/6632d8c9d8d1a3ac338d541676148677641bafe3
https://android.googlesource.com/platform/frameworks/base/+/32a22c44b8351c1cccd3a1f9c47a33469d9378e0
स्थिति: जारी
कमेटी का नोट
विकृत प्रमाणपत्र वाले ऐप्स पुनर्प्राप्त करें।
लॉलीपॉप में समय की एक खिड़की थी जहां हम एक डिकोड / एनकोड चक्र से गुजरने के बाद प्रमाण पत्र जारी करते थे। अच्छी तरह से लिखी गई ओपनएसएसएल लाइब्रेरी उदार थी जब डीकोडिंग (थोड़ी विकृत विकृतियों को पार्स करने की इजाजत दी गई थी), लेकिन फिर एन्कोडिंग के दौरान सख्त होना, हमें प्रभावी रूप से एक ही प्रमाण पत्र के लिए अलग-अलग बाइट्स देता है।
संबंधित परिवाद परिवर्तन (0c990ab4a90b8a5492a67b2b728ac9a4a1ccfa1b) अब मूल बाइट्स शब्दशः को लौटाता है, उस परिवर्तन के बाद पूर्व-लॉलीपॉप दोनों को स्थापित करता है और इंस्टॉल करता है।
यह परिवर्तन किसी भी ऐप को ठीक करता है, जो कि ऊपर वर्णित समय की विंडो के दौरान स्थापित किया गया था, यह देखने के लिए कि क्या प्रभावी रूप से सीट्स समान हैं, यह देखने के लिए।
कृपया अन्य सुझाए गए समाधानों के लिए पुराने संशोधन का संदर्भ लें ।