2015-10-20 8 views
25

मेरे पास कुछ मूल पुस्तकालय हैं जो काफी बड़े हैं और एप्लिकेशन बाइनरी आकार को फूलाते हैं। मैंने APK splitting में देखा लेकिन कई एपीके बनाए रखने और क्यूए करना कुछ ऐसा नहीं है जिसे मैं करना चाहता हूं।एंड्रॉइड आर्किटेक्चर उपयोग?

तो मैं ndk.abiFilters Gradle संपत्ति का उपयोग कर मेरी रिहाई का निर्माण स्वाद में अप्रयुक्त आर्किटेक्चर बहिष्कृत करना चाहते हैं। (डीबग बनाता है मैं अकेला छोड़ना चाहता हूं ताकि मैं x86 पर HAXM- त्वरित एमुलेटर चला सकूं)।

मैं अपने रिलीज स्वाद में केवल armeabi-v7a और arm64-v8a होने के बारे में सोच रहा था, लेकिन मुझे यकीन नहीं है कि मैं अन्य आर्किटेक्चर के बाजार हिस्सेदारी के बारे में चिंतित हूं या नहीं। चारों ओर देखने के बाद मुझे एआरएमवी 6 (आर्मेबी), एमआईपीएस, x86 या x86_64 के बाजार हिस्सेदारी का कोई संदर्भ नहीं मिल रहा है। मेरा अंतर्ज्ञान मुझे बताता है कि बाद वाले तीन लगभग मौजूद नहीं हैं, लेकिन मुझे एआरएमवी 6 के बारे में निश्चित नहीं है।

मैं this link on a forum फोन है कि विभिन्न आर्किटेक्चर का उपयोग की एक सूची है कि पाया। क्या कहीं और अधिक भरोसेमंद है? शायद एंड्रॉइड संस्करण डैशबोर्ड के समान उपयोगकर्ताओं के% के साथ?

अगर मैं सिर्फ आर्मेबी-वी 7 ए और arm64-v8a (या armeabi, armeabi-v7a और arm64-v8a) के लिए अपने मूल libs का निर्माण करता हूं तो मुझे कुछ और याद आ सकता है?

उत्तर

23

सबसे पहले, यदि आप द्विआधारी आकार के बारे में worring कर रहे हैं, क्या तुम सच में arm64-V8A, की जरूरत नहीं है उन सभी उपकरणों armeabi-v7a बाइनरी ठीक चला सकते हैं। केवल अगर आपको वास्तव में अंतिम अतिरिक्त प्रदर्शन को तोड़ने की ज़रूरत है, तो यह सार्थक हो सकता है।

armeabi और ARMv6 के लिए के रूप में, एंड्रॉइड स्वयं आधिकारिक तौर पर इसका समर्थन नहीं करता है, क्योंकि एंड्रॉइड 4.4 (अक्टूबर 2013) - और एंड्रॉइड 4.0 के बाद से यह बहुत कम आम होना चाहिए (उस संस्करण से, एओएसपी स्रोत को अभी भी एआरएमवी 6 के लिए संशोधन की आवश्यकता है)। तो व्यावहारिक रूप से, यदि आप 4.4 से नीचे के संस्करणों का समर्थन नहीं कर रहे हैं, तो आप बिना किसी महत्वपूर्ण हानि के इसे छोड़ सकते हैं।

इसके अलावा, x86 के लिए; उनमें से कई डिवाइस हाथ बाइनरी के आश्चर्यजनक रूप से सभ्य अनुकरण के साथ जहाज करते हैं, इसलिए वे armeabi-v7a संस्करण के साथ भी ठीक से प्रबंधित कर सकते हैं।

+2

तो क्या आप कह रहे हैं कि armeabi-v7a क्या वास्तव में <4.4 या v8a से अतिरिक्त perf की आवश्यकता होने तक वास्तव में आवश्यक है? –

+2

बहुत ज्यादा। कुछ x86 डिवाइस आर्म बाइनरी का समर्थन नहीं कर सकते हैं, लेकिन मुझे लगता है कि उनमें से अधिकतर करते हैं। एमपीएस डिवाइस भी हैं, और मुझे नहीं लगता कि उनमें बांह इम्यूलेशन शामिल है। हालांकि वे बहुत दुर्लभ हैं (शायद x86 उपकरणों की तुलना में आवर्धक का एक आदेश अधिक दुर्लभ है हालांकि मुझे इसे वापस करने के लिए कोई आंकड़ा नहीं मिला)। – mstorsjo

+0

@mstorsjo क्या आप कृपया समझा सकते हैं कि सभी आर्किटेक्चर के लिए armeabi-v7a लाइब्रेरी फ़ाइल का उपयोग कैसे करें? मेरे वर्तमान दृष्टिकोण में, मुझे पुस्तकालय को jniLibs/armeabi, jniLibs/armeabi-v7a और jniLibs/x86 में कॉपी करना है, जो एपीके बड़ा बनाता है। –

22

दुर्भाग्य से, Android Dashboard, यह है के रूप में रूप में उपयोगी, वास्तुकला में जानकारी प्रदान करता है, और न ही गूगल एनालिटिक्स।

Unity statisticsstatistics per architecture and CPU features प्रदान करने के लिए इस्तेमाल किया। नोट, हालांकि, ये सामान्य आंकड़े नहीं हैं, बल्कि केवल एकता अनुप्रयोग/गेम के उपयोगकर्ताओं को कवर करते हैं।

जानकारी अब सार्वजनिक लिंक में उपलब्ध नहीं प्रतीत होती है, इसलिए मैंने archive.org में नवीनतम स्नैपशॉट के साथ सीधे लिंक बदल दिए हैं।

+0

ऐसा लगता है कि उन लिंक से एकता हटाई गई सामग्री। – Tony

+0

नोटिस के लिए धन्यवाद। मैं archive.org से नवीनतम स्नैपशॉट्स के साथ लिंक अपडेट करूंगा –

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