मैं एएबी के लिए एंड्रॉइड द्वारा निकाले गए साझा देयताएं कैसे बनाऊं?

Nov 25 2020

मैं android:extractNativeLibs="true"Android /data/app/%package%/...द्वारा निकाले गए अपने साझा किए गए कामों को करने के लिए Android 29 पर सेट और लक्ष्य करता हूं । यदि एपीके के साथ काम करने के लिए बस ठीक काम करता है एंड्रॉइड 10 अनुमतियाँ समस्या।

हाल ही में मुझे 150Mb डाउनलोड आकार में वृद्धि के कारण AAB पर स्विच करना पड़ा क्योंकि मेरी एपीके का आकार Google Play की सीमा 100Mb से अधिक है। जब AAB से एपीके इंस्टॉलेशन का परीक्षण कर रहा हो ["एंड्रॉइड स्टूडियो में ऐप बंडल से एपीके" परिनियोजित विकल्प] मैंने देखा /data/app/%package%/.. कि खाली है (शुद्ध एकल एपीके इंस्टॉलेशन के विपरीत) जो एक समस्या है क्योंकि मुझे उन्हें निष्पादन योग्य बनाने में सक्षम होने की आवश्यकता है (देखें वर्कअराउंड में विवरण)। मैंने बिल्ड डीआईआर में स्प्लिट एप्स की जाँच की है और उनमें मेरे टेस्ट डिवाइस के लिए सही सेट है:

/out/base-arm64_v8a_2.apk
/out/base-ru.apk
/out/base-master_2.apk
/out/base-xxhdpi.apk

और मैं एपीके में साझा किए गए लिबास देख सकता हूं।

हालांकि android:extractNativeLibs="true"AAB के लिए नजरअंदाज कर दिया जाता है।

यह एक बग या एक सुविधा है? मैं एएबी के लिए भी लिबास कैसे निकाल सकता हूं?

पुनश्च। android.enableAapt2=trueग्रैडल प्लगइन का उपयोग 5.6 और gradle.properties में। रिलीज और डिबग दोनों प्रकारों की कोशिश की।

जवाब

4ntoine Nov 25 2020 at 20:52

नकल के लिए क्षमा करें ।

संक्षेप में: बस android.bundle.enableUncompressedNativeLibs=falseअपने "gradle.properties" में उपयोग करें।