2016-06-07 3 views
6

के माध्यम से एपीके से गतिविधि निकालें मेरे पास एक विशेष मामला है जहां मुझे Activity को निकालने की आवश्यकता है जिसका उपयोग कोड में नहीं किया गया है और मैनिफेस्ट में संदर्भ नहीं है। दूसरे शब्दों में यह मृत कोड है जो obfuscated नहीं है, तो मैं इसे से छुटकारा पाना चाहता हूँ।प्रोजेवार्ड

सामान्य बाधाएं कक्षाओं को रखती हैं जो Activity फैली हुई है जो सामान्य रूप से ठीक है, लेकिन यह उस मृत कोड को रखती है।

मैं इस विशेष Activity को रखने से कैसे बाहर कर सकता हूं?

+0

क्या आपने AndroidManifest फ़ाइल से गतिविधि हटा दी है? – Vyacheslav

+0

@ व्याचेस्लाव हां इसे प्रश्न में वर्णित मेनिफेस्ट से हटा दिया गया है। – rekire

+0

गतिविधि के अंदर कौन सी विधियां दिखाई जाती हैं, यदि आप अपनी कक्षाओं को जार-रीडर में खोलते हैं? – Vyacheslav

उत्तर

0

एएपी प्रक्रिया प्रोगार्ड नियम उत्पन्न करेगी जो स्वचालित रूप से संलग्न की जाएंगी और संसाधन फ़ाइलों में किसी भी संदर्भित कक्षाएं शामिल होंगी।

नियमों का पालन निर्देशिका में बनाई गई हैं:

build/intermediates/proguard-rules/<variant>/aapt_rules.txt 

इस फ़ाइल में नियम भी मूल संदर्भ:

# view AndroidManifest.xml #generated:14 
-keep class com.example.HelloWorldActivity { <init>(...); } 

इस उदाहरण में, वर्ग com.example.HelloWorldActivityAndroidManifest.xml में संदर्भित है।

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