2012-08-30 12 views
6

मैं प्रत्येक डाउनलोड की गई एपीके फ़ाइल में अतिरिक्त (प्रति-उपयोगकर्ता) डेटा शामिल करना चाहता हूं। दूसरे शब्दों में, मैं सर्वर पर एक मौजूदा APK फ़ाइल है और चाहते हैं:मैं एपीके में एक्सएमएल फ़ाइल को कैसे बदलूं?

  • अद्यतन गतिशील रूप से उत्पन्न एक्सएमएल फ़ाइल के साथ मौजूदा APK में फ़ाइल /res/user_info.xml की जगह और उपयोगकर्ता डाउनलोड करने से पहले पूरे पैकेज में पुनः प्रवेश यह

और जानकारी: मैं जानता हूँ कि यह प्रयोग किया जा सकता aapt, apktool, jarsigner, ... समस्या यह है कि प्रलेखन काफी खराब है और मैं खोजने में असमर्थ था (या विकसित) एक काम तकनीक फिर से करने के लिए है एपीके फ़ाइल पैक करें। उदाहरण के लिए aapt हमेशा XML पथ को रूट पथ (/) में रखता है इससे कोई फर्क नहीं पड़ता कि मैं क्या करता हूं। मैं यह भी अनिश्चित हूं कि संसाधनों को अद्यतन करने की आवश्यकता है ताकि एपीके फ़ाइल फिर से मान्य हो। साथ ही, मौजूदा XML फ़ाइलों को /res/ में संकलित किया गया है - क्या मुझे अपनी एक्सएमएल फ़ाइल के साथ ऐसा करने की ज़रूरत है? यदि हां, तो मैं यह कैसे कर सकता हूं? यदि नहीं, तो क्या मुझे अपनी एक्सएमएल फाइल /res/raw/ में रखनी चाहिए?

प्रश्न: मैं एपीके में एक एक्सएमएल फ़ाइल को कैसे बदलूं और इसे दोबारा दोबारा बदलूं? किन कदमों की आवश्यकता है और मैं किस उपकरण का उपयोग करता हूं?

+0

अच्छी तरह से आता है, एपीके संरचित फ़ोल्डर/फ़ाइलों के साथ बस एक ज़िप फ़ाइल है। ताकि आप इसे अनजिप कर सकें और जो भी चाहें कर सकें और एपीके एक्सटेंशन के साथ इसे फिर से ज़िप कर सकें। –

+1

सिद्धांत रूप में हां, लेकिन व्यावहारिक रूप से आपको शायद एक्सएमएल फाइलों को संकलित करने, संसाधनों की सूची में जोड़ने, पुनः हस्ताक्षर करने, ... और ये केवल चीजें हैं जिन्हें मैं जानता हूं। तो मैं सोच रहा हूं कि पूरी प्रक्रिया क्या है। – johndodo

+0

मुझे नहीं पता कि आप उस XML फ़ाइल में किस तरह की जानकारी रखते हैं, लेकिन यदि आप केवल xml के मान डेटा को बदलते हैं तो यह कुंजी नहीं चाहिए। –

उत्तर

3

इस writing में आप एक एपीके फ़ाइल को अनपॅक करने और पैक करने के मूल चरणों को पा सकते हैं।

मूल रूप से;

= उपयोग apktool.bat d -s sample.apk .\sample\ apk का केवल संसाधनों को डिकोड करने के। (अपनी स्थिति में स्रोत हिस्सा डिकोड करने के लिए कोई जरूरत नहीं है)

= जोड़ें/संपादित करें/अपने आवश्यक संसाधनों की जगह।

= परिवर्तित एपीके बनाने के लिए apktool.bat b .\sample\ .\sample_edited.apk का उपयोग करें।

न अगर आपके पास पहले से = apk पर हस्ताक्षर करने के लिए एक आरएसए 2048 कुंजी जेनरेट करें: keytool -genkey -v -keystore my.keystore -alias myandroidalias -keyalg RSA -keysize 2048 -validity 20000

= जनरेट की गई कुंजी jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my.keystore .\sample_edited.apk -signedjar .\sample_signed.apk myandroidalias

साथ साइन apk = और 4 बाइट सीमा zipalign.exe -v 4 .\sample_signed.apk .\sample_aligned.apk के साथ हस्ताक्षर किए apk संरेखित (zipalign एंड्रॉइड-एसडीके)

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