2016-05-21 13 views
14

में अनुप्रयोग हैंग इन परिवर्तनों के साथ 9.0.0 के विकास में एक एप्लिकेशन उन्नत और google-services.json के उत्थान:Google Play सेवाओं 9.0.0 को अपग्रेड करने के बाद, DynamiteModulesC

classpath 'com.google.gms:google-services:3.0.0' 
compile 'com.google.android.gms:play-services:9.0.0' 

अपग्रेड के बाद, जब एप्लिकेशन initializes, लॉगकैट संदेशों के अपेक्षित अनुक्रम प्रकट होते हैं। लगभग 7 सेकंड के बाद, संदेश का एक ही अनुक्रम फिर से आउटपुट होता है, अतिरिक्त शीर्षलेख background_crash के साथ। उदाहरण के लिए:

17:39:30.162 5453-5453/com.xxx.nub:background_crash I/MultiDex: install done 

ऐप सामान्य रूप से तब तक चल रहा है जब तक कि यह छुपा न हो जाए, उदाहरण के लिए किसी अन्य ऐप में गतिविधि शुरू करके। 5 सेकंड बाद प्रणाली का पता लगाता है कि एप्लिकेशन लटका दिया जाता है:

05-20 17:40:10.315 5138-5138/com.xxx.nub I/MainActivity: STOP MainActivity 
05-20 17:40:10.375 5138-5138/com.xxx.nub I/NubApplication: onTrimMemory(): TRIM_MEMORY_UI_HIDDEN 
05-20 17:40:10.375 5138-5138/com.xxx.nub D/FirebaseApp: Notifying background state change listeners. 
05-20 17:45:10.465 5138-5143/com.xxx.nub I/dalvikvm: threadid=3: reacting to signal 3 
05-20 17:45:10.565 5138-5143/com.xxx.nub I/dalvikvm: Wrote stack traces to '/data/anr/traces.txt' 

स्टैक ट्रेस से पता चलता एप्लिकेशन किटकैट चल रहा एक फोन पर com.google.android.gms.DynamiteModulesC

----- pid 5138 at 2016-05-20 17:45:10 ----- 
Cmd line: com.xxx.nub 

JNI: CheckJNI is off; workarounds are off; pins=0; globals=295 

DALVIK THREADS: 
(mutexes: tll=0 tsl=0 tscl=0 ghl=0) 

"main" prio=5 tid=1 WAIT 
    | group="main" sCount=1 dsCount=0 obj=0x416c5ea0 self=0x415bb5d0 
    | sysTid=5138 nice=-11 sched=0/0 cgrp=apps handle=1073844564 
    | state=S schedstat=(0 0 0) utm=1774 stm=244 core=1 
    at java.lang.Object.wait(Native Method) 
    - waiting on <0x42804a68> (a aaf) 
    at java.lang.Object.wait(Object.java:364) 
    at aaf.a(:com.google.android.gms.DynamiteModulesC:75) 
    at zq.onTrimMemory(:com.google.android.gms.DynamiteModulesC:1187) 
    at android.app.Application.onTrimMemory(Application.java:148) 
    at com.xxx.nub.NubApplication.onTrimMemory(NubApplication.java:211) 
    at android.app.ActivityThread.handleTrimMemory(ActivityThread.java:4298) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1481) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:146) 
    at android.app.ActivityThread.main(ActivityThread.java:5487) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
    at dalvik.system.NativeStart.main(Native Method) 

समस्या तब होती है में लटका दिया जाता है। समस्या लॉलीपॉप चलाने वाले फ़ोन पर होती है।

पूरा logcat आउटपुट here देखा जा सकता है।

उत्तर

24

background_crash प्रक्रिया Firebase Crash Reporting द्वारा बनाई गई है। यही कारण है कि आप डुप्लिकेट संदेश देख रहे हैं, लेकिन मुझे यह मूल कारण नहीं लगता है। मैं Google Play सेवाओं टीम के साथ एक समस्या को अपस्ट्रीम के रूप में लॉन्च करने जा रहा हूं, लेकिन संभवतया एक वर्कअराउंड है जिसका आप उपयोग कर सकते हैं:

क्योंकि आप com.google.android.gms:play-services:9.0.0 को निर्भरता के रूप में निर्दिष्ट कर रहे हैं सचमुच Google Play सेवाओं की सभी - जो बहुत है!

मैं उस लाइन को उस विशिष्ट निर्भरता के साथ बदलने की अनुशंसा करता हूं जो आपको चाहिए। आप एक पूर्ण सूची here पा सकते हैं। उदाहरण के लिए, यदि आप मानचित्र का उपयोग कर रहे हैं और Google में प्रवेश करें, तो आप निर्दिष्ट कर सकता है:

compile 'com.google.android.gms:play-services-auth:9.0.0' 
compile 'com.google.android.gms:play-services-maps:9.0.0' 
+2

आप का सुझाव दिया है, मैं सात विशिष्ट निर्भरता एप्लिकेशन वास्तव में जरूरत के साथ प्ले-सेवाओं पर निर्भरता बदल दिया। उस परिवर्तन ने लॉककैट में हैंग और फायरबेस संबंधित चेतावनी संदेशों में से कई को हटा दिया। उत्तर के लिए धन्यवाद और इस मुद्दे को दर्ज करना। –

+0

@ इयानबार्बर का अर्थ है 'क्लासपाथ' com.google.gms: google-services: 3.0.0'' अभी भी परियोजना स्तर के स्तर में शामिल किया जाएगा? –

+1

हाँ, वह वहां रहता है क्योंकि यह आपके ऐप के बजाय खुद को धीरे-धीरे प्लगइन करने के लिए एक प्लगइन है। –

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