जब मेरे एंड्रॉयड परियोजना का निर्माण, मैं ProGuard सक्षम करने के लिए build.gradle फ़ाइल में निम्न को शामिल किया है:एंड्रॉयड Gradle निर्माण जिसके परिणामस्वरूप apk शामिल दोनों अस्पष्ट और गैर समझ से परे कक्षाएं
buildTypes {
release {
runProguard true
proguardFile 'proguard-project.txt'
proguardFile '../common/proguard-shared.txt'
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
सब कुछ ठीक है बनाता है, लेकिन जब मैं परिणामी डीएक्स फ़ाइल को अलग करता हूं, यह पता चला है कि दोनों obfuscated और गैर-obfuscated फाइलें हैं।
उदाहरण के लिए, दोनों सामान्य। बेस 64 और सामान्य.ए मौजूद हैं, पहला गैर-obfuscated है, जबकि दूसरा है।
इसके बारे में निश्चित नहीं है, लेकिन परियोजना के पास एक गैर-विशिष्ट संरचना है। यह 40 एंड्रॉइड ऐप्स से अधिक के साथ एक बड़ा एंड्रॉइड कोड बेस होने का नतीजा है। हम मौजूदा ग्रहण आधारित निर्माण के साथ-साथ एक ग्रेड आधारित आधारित प्रवाह प्रवाह बनाने की कोशिश कर रहे हैं।
यदि सब कुछ ठीक हो जाता है, तो हम फ़ाइल संरचना को और अधिक देशी ग्रेडल के रूप में बदलने का इरादा रखते हैं, और स्वादों की कमी के लिए समायोजित करने के लिए बनाए गए कई पुस्तकालयों के साथ स्वाद और निर्माण-प्रकारों का उपयोग शुरू करना चाहते हैं। । -> डी -> सी -> बी -> एक
जैसे
ई:
परियोजना ई ऊपर इस तरह पुस्तकालयों की एक श्रृंखला पर निर्भर करता है ई प्रोजेक्ट लाइब्रेरी डी पर निर्भर करता है जो लाइब्रेरी सी पर निर्भर करता है ... ए
काम करता है, धन्यवाद, @Xav! रिलीज उम्मीदवार बनाने से पहले "मजबूर" करने के लिए कोई सुझाव दिया गया तरीका? – Guy
क्या आपके लिए '' साफ इकट्ठा करें '' 'आपके लिए काम करता है? –
@ थूहरिंह यह करता है। बस सुनिश्चित करें कि आप सभी निर्भरताओं के लिए "साफ" करें (यानी यदि आपके पास बहु-मॉड्यूल प्रोजेक्ट है, तो रूट को पहले साफ करें, और फिर इकट्ठा करें जो आपको आवश्यक सबमिशन दें)। – Guy