2014-04-26 10 views
17

विफल रहता है मुझे एप्लिकेशन apktool समस्या के साथ बहुत परेशान करने वाली समस्याएं आ रही हैं। मुझे समझ में नहीं आता कि मैं क्या गलत कर रहा हूं, या समस्या क्या है। मैंने इसे डेबियन और लिनक्स टकसाल पर करने की कोशिश की। मैं apktool के विभिन्न संस्करणों,apktool build apk

एक ही त्रुटि में परिणाम इस्तेमाल किया:

I: Checking whether sources has changed... 
I: Checking whether resources has changed... 
I: Building resources... 
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL3630495287059303807.tmp, -I, /home/awesomename/apktool/framework/1.apk, -S, /home/awesomename/out/./res, -M, /home/awesomename/out/./AndroidManifest.xml] 
    at brut.androlib.res.AndrolibResources.aaptPackage(Unknown Source) 
    at brut.androlib.Androlib.buildResourcesFull(Unknown Source) 
    at brut.androlib.Androlib.buildResources(Unknown Source) 
    at brut.androlib.Androlib.build(Unknown Source) 
    at brut.androlib.Androlib.build(Unknown Source) 
    at brut.apktool.Main.cmdBuild(Unknown Source) 
    at brut.apktool.Main.main(Unknown Source) 
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL3630495287059303807.tmp, -I, /home/windows/apktool/framework/1.apk, -S, /home/windows/out/./res, -M, /home/windows/out/./AndroidManifest.xml] 
    at brut.util.OS.exec(Unknown Source) 
    ... 7 more 
Caused by: java.io.IOException: Cannot run program "aapt": error=2, No such file or directory 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041) 
    at java.lang.Runtime.exec(Runtime.java:617) 
    at java.lang.Runtime.exec(Runtime.java:485) 
    ... 8 more 
Caused by: java.io.IOException: error=2, No such file or directory 
    at java.lang.UNIXProcess.forkAndExec(Native Method) 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:135) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:130) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022) 
    ... 10 more 

ऐसा लगता है यह aapt उपयोग नहीं कर सकते, लेकिन मैं apktool बारे में पढ़ा। और ऐसा लगता है कि एपेट apktool के अंदर बनाया गया है, यह क्यों काम नहीं कर रहा है?

उत्तर

41

ऐसा लगता है कि एपीके को पुन: संकलित करते समय संसाधनों के निर्माण में कुछ समस्या है। आप क्या कर सकते हैं, जब आप डिकंपाइल आपके apk उपयोग इस आदेश

apktool d -f -r apkfilename.apk 

यहाँ -f पिछले decompiled apk का कोड को बदलने के लिए है और -r संसाधनों की decompiling अनदेखी करने के लिए है।

इससे संसाधनों को अपूर्ण होने से रोका जा सकता है और जब आप एपीके को पुन: संकलित करते हैं तो उसी संसाधन को कॉपी करेंगे।

+0

समस्या यह है कि यह मुझे मूल्य फ़ोल्डरों को देखने नहीं देगा। एपीके को अपनाने का एकमात्र कारण यही है। – ideaman924

0

डीआईआर डालने का प्रयास करें जिसमें आपके पाथ में एपेट फ़ाइल शामिल है। उदाहरण के लिए, निर्यात PATH = $ PATH: ./ ./apktool b

4

यदि आप v1 का उपयोग कर रहे हैं और अब v2 में अपग्रेड किया गया है, तो फ्रेमवर्क फ़ाइल को मैन्युअल रूप से हटाने का प्रयास करें।

विंडोज 8 पर यह आमतौर पर C:\Users\YourName\apktool\framework\1.apk पर होता है।

फ़ाइल बनाने के बाद फ़ाइल को पुन: उत्पन्न किया जाना चाहिए।

+3

ओएस एक्स (मैकोज़) पर यह '/ उपयोगकर्ता/ // लाइब्रेरी/एपीकेटोल/फ्रेमवर्क/1. एपीके 'पर है। – nimrodm

+1

लिनक्स यह '/ home/apktool/framework' पर है –

-1

समाधान आपके सिस्टम पाथ में अपनी apktool निर्देशिका को शामिल करना है।

1

मेरी समस्या को \ framework \ 1.apk को हटाकर हल किया गया था, मैंने संशोधित फ़ाइलों पर बैकअप बनाकर, डीआईआर को मिटाना और * .apk फिर से decompiling ... (लिनक्स पर, पथ है घर/[उपयोगकर्ता]/apktool/ ...)। अद्यतन के बाद, apktool हमेशा पुरानी संसाधन तालिका लोड किया। एन

1

निश्चित रूप से अतीत पाथ समस्या की तरह लगता है कि मैं थोड़ी देर पहले था। क्या आपने पाथ में प्रवेश किया है? यदि आपको अभी भी समस्याएं हैं, तो मैंने इन सभी निर्भरताओं की समस्याओं से बचने के लिए बैश में एक अच्छी एपीके किट बनाई है। यह apktool, signapk, zipalign, adb, fastboot, और heimdall का समर्थन करता है। इसकी जांच - पड़ताल करें। आपको बस एक मौजूदा जावा इंस्टॉल करना है।

http://forum.xda-developers.com/android/development/toolkit-apk-munky-rench-t3026757/post58747626#post58747626

0

कोशिश ia32-libs स्थापित करने और apktool के नवीनतम संस्करण को अद्यतन करने के लिए। (यदि संभव हो तो पुनरारंभ करें)

apktool को "ia32-libs" की आवश्यकता होती है जो उबंटू 12.04 के बाद उपलब्ध नहीं है। ia32-libsapktools की

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 

डाउनलोड नवीनतम संस्करण स्थापित।जार - https://bitbucket.org/iBotPeaches/apktool/downloads

apktool पूरा अधिष्ठापन गाइड - http://ibotpeaches.github.io/Apktool/install/

0

अपने त्रुटि के कुछ कारण हैं। अपनी समस्या हल करने के लिए इन्हें आजमाएं।

1. http://onephin.com/fix-apktool-dont-compile-dont-build-error/ 1.1 से निकालें नई (संशोधित) जार फ़ाइल डाउनलोड करें 1.1 इसे निकालें। 1.2 इसे Apktool.jar पर नाम दें 1.3 इस फ़ाइल को अपने Apktool फ़ोल्डर में रखें।

2. सुनिश्चित करें कि आपके Apktool फ़ोल्डर/usr/स्थानीय/बिन (रूट की जरूरत)

3.Make यकीन Apktool.jar फ़ाइल निष्पादन योग्य है (chmod + x)

4.Make यकीन है आप जावा को ठीक से स्थापित करते हैं या यदि आपने जावा को सही तरीके से इंस्टॉल किया है तो आपका वैरिएबल पथ गलत हो सकता है। इस समस्या को ठीक करने के लिए जावा को पुनर्स्थापित करें और फिर वेरिएबल पथ को उचित रूप से सेट करें।

के लिए और अधिक इस समस्या पर जाएँ http://onephin.com/fix-apktool-dont-compile-dont-build-error/

0

ठीक करने के लिए मैं सिर्फ एक ही समस्या है जब apktool d foo.apk (decompiled सफलता) चलाने के लिए और उसके बाद apktool b foo (पुन: संयोजित समान त्रुटि के साथ विफल) मुठभेड़ के बारे में।

ऊपर apktool उपकरण sudo apt-get install apktool के माध्यम से स्थापित किया गया था काली लिनक्स पर।

तो, समाधान apktool की आधिकारिक साइट पर गया था, उदा। https://connortumbleson.com/2017/01/23/apktool-v2-2-2-released/ (यह लेखन के इस समय नवीनतम संस्करण है), इसे डाउनलोड करें, md5sum it, उदा। सत्यापित करने के लिए md5sum apktool_2.2.2.jar, फिर apktool_2.2.2.jar को apktool.jar पर पुनर्नामित करें।

फिर java -jar ./apktool.jar b foo को पुन: संकलित करने के लिए करें, यह त्रुटि के बिना सफलता (जेनरेट एपीके ./foo/dist/foo.apk पर स्थित है)।

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