2015-03-12 13 views
15

कल से शुरू हो रहा है, 11 मार्च, मैंने सुरक्षा अपवाद दुर्घटनाओं में एक स्पाइक देखना शुरू कर दिया। (नीचे स्टैक ट्रेस देखें।) क्या अन्य लोग इस अपवाद को भी देख रहे हैं? खोजों ने कुछ भी नहीं बदला है।PublisherAdView.loadAd() सुरक्षा निष्पादन फेंकना - getTasks() के लिए android.permission.GET_TASKS

मेरा सवाल यह है कि क्या Play Services के किसी नए संस्करण में अपग्रेड करना समस्या को हल करता है।

यहाँ ढेर है:

java.lang.SecurityException: Permission Denial: getTasks() from pid=30319, uid=10157 requires android.permission.GET_TASKS 
    at android.os.Parcel.readException(Parcel.java:1474) 
    at android.os.Parcel.readException(Parcel.java:1428) 
    at android.app.ActivityManagerProxy.getTasks(ActivityManagerNative.java:2726) 
    at android.app.ActivityManager.getRunningTasks(ActivityManager.java:791) 
    at android.app.ActivityManager.getRunningTasks(ActivityManager.java:827) 
    at com.google.android.gms.ads.internal.util.h.a(SourceFile:703) 
    at com.google.android.gms.ads.internal.a.a(SourceFile:1634) 
    at com.google.android.gms.ads.internal.a.a(SourceFile:530) 
    at com.google.android.gms.ads.internal.client.t.onTransact(SourceFile:81) 
    at android.os.Binder.transact(Binder.java:361) 
    at com.google.android.gms.internal.bd$a$a.a() 
    at com.google.android.gms.internal.bh.a() 
    at com.google.android.gms.ads.doubleclick.PublisherAdView.loadAd() 

मैं loadAd करने के लिए कॉल के आसपास आज़माएं/कैच के साथ एक पैच प्रकाशित करने की योजना है()। मैं निकट भविष्य में PlayServices 6.1.71 से 6.5.87 तक अपग्रेड करने की भी योजना बना रहा हूं, लेकिन जब तक यह ज्ञात फ़िक्स नहीं है तब तक मैं उस पैच रिलीज़ में उस जोखिम को पेश करने में अनिच्छुक हूं। , मुझे पता है कि इस SecurityException GET_TASKS अनुमति देने का अनुरोध द्वारा बचा जा सकता है कर रहा हूँ, लेकिन मैं अपने अनुप्रयोग के लिए अनुमति की जरूरत नहीं है: https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/android/IuSQriNWKps

संपादित करें/स्पष्टीकरण:

मैं गूगल यहाँ के लिए बग की सूचना दी है और मुझे नहीं लगता कि AdMob विज्ञापनों को क्यों चाहिए।

मैं भी पता है कि GET_TASKS एपीआई 21 के रूप में पदावनत किया गया है, लेकिन इस ऐप का लक्ष्य एक एपीआई 19.

+1

यहां वही, अब इनमें से बहुत कुछ है। Google Play सेवाओं के अंदर AdMob को बंडल करना Google के विचारों के सबसे चमकीले नहीं है। हर महीने समाचार कीड़े और हमें फिक्स के लिए सप्ताहों का इंतजार करना होगा। –

+1

हां, मुझे भी इनमें से बहुत सारी दुर्घटनाएं दिखाई देती हैं। यहां एक क्रैश रिपोर्ट मिली, https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/android/IuSQriNWKps। सुनिश्चित नहीं है कि आपने यह रिपोर्ट की है। आशा है कि वे जल्द ही एक नया संस्करण तैयार करेंगे। तब तक खुद को अनुमति जोड़ने के लिए समझदारी हो सकती है। – MRK

+0

मैं भी ऐसा देख रहा हूं। मुझे लगता है कि मैं करूँगा @ एमआरके ने कहा कि जब तक समस्या ठीक नहीं हो जाती है तब तक अनुमति को जोड़ने के लिए कहा जाता है। –

उत्तर

4

Google12 रिपोर्ट करता है कि एक फिक्स जारी किया गया है, और हमें "चाहिए" उस विशेष अपवाद की कमी की घटना दर देखें, और एक सप्ताह के भीतर पूरी तरह गायब हो जाए "। इसके अलावा, यह एक सर्वर-साइड फिक्स है, और Play Services में अपग्रेड की आवश्यकता नहीं है।

पूरी बातचीत यहाँ उपलब्ध है: https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/android/IuSQriNWKps

इस बीच, आप या तो SecurityException पकड़ कर सकते हैं और विफल loadAd() करने के लिए कॉल की अनुमति देते हैं, या - के रूप में @dthacker ध्यान दिया - आप GET_TASKS अनुमति शामिल कर सकते हैं AndroidManifest.xml में। यदि आप इस अनुमति को शामिल करना चुनते हैं, तो ध्यान दें कि एपीआई 21 को लक्षित करने के बाद आप इसे हटा दें, क्योंकि अनुमति अब लागू नहीं हुई है (जाहिर है क्योंकि उन्होंने प्रदान की गई जानकारी की मात्रा कम कर दी है, अब दस्तावेज़-उन्मुख कार्यों का परिणाम गोपनीयता लीक हो सकता है) ।

10

यह वह जगह है, क्योंकि या तो आप GET_TASKS में जोड़ा नहीं है अपने प्रकट

<uses-permission android:name="android.permission.GET_TASKS" /> 

या क्योंकि इसे एपीआई 21 में बहिष्कृत कर दिया गया है, GET_TASKSenter link description here

+2

धन्यवाद, @dthacker। मुझे पता है कि मैं GET_TASKS अनुमति का अनुरोध कर सकता हूं, लेकिन मेरे ऐप को इसकी आवश्यकता नहीं है, और मुझे नहीं लगता कि AdMob विज्ञापनों को इसकी आवश्यकता क्यों होनी चाहिए। प्रश्न में ऐप का संस्करण सफलतापूर्वक विज्ञापनों को दो महीने तक होस्ट कर रहा है, और कल ही मैंने इस अपवाद को देखना शुरू कर दिया था। – markproxy

संबंधित मुद्दे