Skip to main content

Decompiling Android .apk file


Follow the procedure given below, to retrieve source from an apk file.

1.      Start with renaming the extension of file from .apk to .zip (e.g.: rename from filename BuyCokeAndroid.apk to filename BuyCokeAndroid.zip) it automatically converted into zip file and then extract it. If you open extracted file, you will able to see “classes.dex” file.

2.      Convert “classes.dex” to “classes.jar”. To convert into jar file use the tool “dex2jar”. Download on this link http://code.google.com/p/dex2jar/downloads/list  and then extract it in same folder where the classes.dex file is located.

3.      Now, open command prompt and reach to the folder where the classes.dex file is located.
For e.g. c:\Users\v.nadeshan\apk decompile\BuyCodeAndroid>
Windows: - Then type the command “dex2jar classes.dex” next to above path. c:\Users\v.nadeshan\apk decompile\ BuyCodeAndroid> dex2jar classes.dex and enter
Mac: - Then type the command “sh dex2jar.sh classes.dex” next to above path. c:\Users\v.nadeshan\apk decompile\ BuyCodeAndroid> dex2jar classes.dex and enter and press enter.
Output: - You get classes.dex.dex2jar file in the same folder.

4.      Now, download java decompiler from http://java.decompiler.free.fr/?q=jdgui and double click on jd-gui.exe and java Decompiler window is displayed. Open classes.dex.dex2jar file in Java Decompiler and then you can see the source files in the jd-gui window. You can save the source files by selecting File>Save All Sources option and you will get the source files as zip.

5.      Download apktool and it dependencies to retrieve correct xml files like layout files and Android-Manifest.xml file. Download apktool from http://code.google.com/p/android-apktool/downloads/detail?name=apktool1.5.2.tar.bz2&can=2&q= and for it dependencies download from http://code.google.com/p/android-apktool/downloads/detail?name=apktool-install-windows-2.2_r01-3.tar.bz2. Extract both zip files and put the content in the same folder where the .apk file is located i.e. BuyCokeAndroid folder.

6.       Download framework-res.apk file and put it in same folder where the .apk file is located i.e. BuyCokeAndroid folder.

7.       Now, open command prompt and Navigate to the directory where your .apk file is located (c:\Users\v.nadeshan\apk decompile\BuyCodeAndroid>)and type the following command

Command 1

Windows: - Then type the command “apktool if framework-res.apk” next to above path. c:\Users\v.nadeshan\apk decompile\ BuyCodeAndroid> apktool if framework-res.apk and enter
Mac: - Then type the command “sh apktool if framework-res.apk” next to above path. c:\Users\v.nadeshan\apk decompile\ BuyCodeAndroid> sh apktool if framework-res.apk and enter and press enter.
Output: - you get a file folder in that folder and now you can easily read xml files also.
            
Command 2

Windows: - Then type the command “apktool d “framework-res.apk”” next to above path. c:\Users\v.nadeshan\apk decompile\ BuyCodeAndroid> apktool d “framework-res.apk” and enter.
Mac: - Then type the command “sh apktool d “framework-res.apk” next to above path. c:\Users\v.nadeshan\apk decompile\ BuyCodeAndroid> sh apktool d “framework-res.apk and enter and press enter.
Output: - you get a file folder in that folder (framework-res) and now you can easily read AndroidManifest files also.

"Happy Testing"

Comments

Popular posts from this blog

Collect console logs for iOS devices

Mostly I work in a windows environment and it is necessary to get console logs for iOS devices to find out the root cause of the issue. We can get iOS app crash log from this path ( C:\Users\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\DSS-Iphone 6 ) in windows machine using iTunes. But we need an entire app log to understand what goes wrong in the application. And after some research, I found iTools which allow you to manage iOS devices and also show entire device logs. This tool helps me to do my testing. As per my understanding, this tool will not run without iTunes. iTools was also affected by the latest iTunes update. Now I have found some other tool called 'iOSLogInfo'. Download and run iOSLogInfo to get console log for iOS devices in windows. Requirements:- iOSLogInfo ( Download link - https://www.blackberry.com/blackberrytraining/web/KB_Resources/KB36986_iOSLogInfo_4.3.4.zip    ) iTunes for windows Steps:- Download and save iOSLogInfo z

Android Application Automation Testing using MonkeyTalk IDE Professional

Steps to install and run the MonkeyTalk scripts 1. Download Monkey Talk IDE and AspectJ from given link:     https://www.cloudmonkeymobile.com/monkeytalk     Download Eclipse 4.3.1 or 4.3.2 (for Windows) from given link and copy in    your C Drive.     https://www.eclipse.org/downloads/packages/eclipse-standard-432/keplersr2 2. Launch Eclipse and install AspectJ for respective eclipse version.      aspectj - http://download.eclipse.org/tools/ajdt/37/update 3. Now get the app source code from your developer which you want to test and import it in eclipse. 4. Right Click on your project >> Configure >> Convert to AspectJ project.      5. Check you have "libs" folder or not.If you have then OK or else create a new "libs" folder. 6. Now open Monkey Talk\monkeytalk\agents\android\ monkeytalk-agent-2.0.5.jar folder that we downloaded in step 1. Drag & copy the agent.jar file in libs folder. 7. Now Right Click on newly c

AI in Software Testing

AI Testing In the span of only a few months, AI has reshaped the landscape of almost every industry around the world in both positive and negative ways. Indeed, there is still a lot of room for improvement in this groundbreaking technology, but if businesses don’t embrace it, they’re sure to be left behind. In the QA industry, “AI testing” will become the norm in the next few years, bringing incredible advancements in the way we think and do software testing. In this article, we’ll explore the concept of AI testing in-depth, see how AI can optimize testing, and share the pioneering AI testing tools that you can leverage to transform your QA workflows. What is AI? Before diving into the concept of AI testing, we must first have a common understanding of Artificial Intelligence (AI). AI has become a buzzword recently after the introduction of ChatGPT – a revolutionizing chatbot. So, what is AI? AI can be defined as the simulation of human intelligence via machines that are programmed to