हमें उस सामग्री को स्टोर और पुनर्प्राप्त करने की आवश्यकता है जो उपयोगकर्ता हमारे ऐप के साथ ऑनलाइन उत्पन्न करते हैं। ऐसा करने के लिए, हमने एपीआई (आधिकारिक उपयोग उदाहरण here) को त्वरित रूप से बनाने के लिए एंड्रॉइड स्टूडियो के एकीकृत Google क्लाउड एंडपॉइंट टेम्पलेट का उपयोग करने का निर्णय लिया।एंड्रॉइड स्टूडियो के Google क्लाउड एंडपॉइंट्स टेम्पलेट का उपयोग करते समय प्रोगार्ड कॉन्फ़िगरेशन
यह डीबग में ठीक काम करता है, लेकिन रिलीज मोड में, प्रोगार्ड सक्षम के साथ, यह विफल हो जाता है। इससे भी बदतर, मैं एंड्रॉइड स्टूडियो के एंडपॉइंट्स टेम्पलेट्स के साथ प्रोगार्ड का उपयोग करने के बारे में कोई दस्तावेज या नमूने नहीं ढूंढ पाया।
या आसपास poking और यह काम करने की कोशिश कर के इतने एक घंटे के बाद, proguard-rules.pro अब इस तरह दिखता है:
-keep class com.google.api.** { public *; }
-dontwarn com.google.api.**
-keep class com.google.common.** { public *; }
-dontwarn com.google.common.**
# Not allowed to post company and app names, but this line is correct in the real file
-keep class com.companyname.appname.application.backend.** { *; }
इस कॉन्फ़िगरेशन के साथ
, मैं एक वर्ग डाली हो रही है मेरी ArrayAdapter
में अपवाद:
java.lang.ClassCastException: com.google.api.client.util.ArrayMap cannot be cast to com.companyname.appname.application.backend.messageApi.model.Message
यह एक Message
की List
वस्तुओं के बजाय लगता दिए गए डेटा की रूपांतरण कहीं नहीं किया जाता है और,, मैं एकमिलवस्तुओं के(वे वैसे भी वैध डेटा रखते हैं)।
मैं जांच कर सकता हूं कि ऐप रिलीज मोड में चल रहा है या नहीं, मैन्युअल रूप से रूपांतरण करें, हालांकि, यह एक हैकी तरीका है और मैं इसे ठीक से करना पसंद करूंगा। तो, क्या कोई मुझे बता सकता है कि प्रोगुआर्ड कॉन्फ़िगरेशन फ़ाइल में मुझे क्या याद आ रहा है?
आपके द्वारा पोस्ट किए गए पहले भाग में वास्तव में सही समाधान है। – Manvis
ग्रेट, प्रतिक्रिया के लिए धन्यवाद। – myanimal
पहला खंड मेरे जीवन को बचाया गया है !! बहुत धन्यवाद! – KimKha