Source Code For Android Apps
- Download Source Code For Android Apps
- View Source Code For Android Apps
- Source Code For Simple Android Apps
- Source Code For Android Apps In Eclipse
- Open Source Apps For Android
The Code Sample Browser in Android Studio helps you find Android code samples based on the currently highlighted symbol in your project. In your code, highlight a variable, type, or method. Right-click to display the context menu. From the context menu, select Find Sample Code. The results of your search appear in a tool window as shown in. This is a Chat App for Android mobile. You can make separate chat with you partner. I'm using Mysql Database and Php code and All APIs are develop on PHP (REST APIs).
A Simple Android Application for Adding Two Number Wrapping It Up. In this very simple and short tutorial, we saw how to get started with Android application development by creating a simple android application for adding two numbers. You can use this as basis for implementing a calculator app in android. Recently I have been following up a couple of good open source Android apps and thought of listing them here so that it could be useful for others. I also would like to recommend reading this detailed post featuring 5 FREE android app source code you must check. 10 Open Source Android Apps which every Android developer must look into. Gives a Free Android flat dashboard app including a cool pie chart widget, sliding menu and tab view. Fully functional and customizable according to. Not to forget we offer 30 day money back guarantee, if the Android App source code doesn’t work as described above. So the actual risk is on me to provide you the fully working Android App source code which you can use to create your own App.
This is an incomplete list of notableapplications (apps) that run on the Android platform which meet guidelines for free software and open-source software.
- 3Communication
Advertisement blocking[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
AdAway | Ad blocker | No | Yes[1] | GNU GPLv3 | L16 / 4.1+ | |
Adblock Plus | Ad blocker | No | No | GNU GPLv3 | L7 / 2.1+ | No longer maintained nor supported by Eyeo GmbH |
DNS66 | Ad blocker | No | Yes[2] | GNU GPLv3 | L21 / 5.0+ | |
Blokada | Ad blocker | No | Yes[3] | GNU GPLv3 | L21 / 5.0+ |
- ^The API column is used to describe which versions of Android each individual application is compatible with. If API column shows '5.1' then the application is compatible with Android version 5.1 or higher; 'L7' or 'L14' mean specific Android API versions.
Browsers[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
Brave | A Chromium-based web browser with an emphasis on speed, reforming ad blocking, and preventing tracking.[1] | Yes | No[2] | BSD | 4.1+ | Has in-built ad blocker |
Chromium | Web browser using Blink engine. | Yes | Yes | 4.4+ | Available via the GPLv3 installer app getChromium[3] (which can be found on F-Droid).[4] | |
Fennec F-Droid | Web browser customizable with add-ons, uses Gecko engine. | Yes | Yes[5][4] | MPL | 4.1+ | Same with Firefox for Android, but some proprietary code removed. |
Firefox for Android | Web browser customizable with add-ons, uses Gecko engine. | Yes | No[6] | MPL | 4.1+ | Removed from F-Droid |
Firefox Focus/Klar | Privacy centered browser, uses Gecko engine (GeckoView). | Yes | Yes[7][5] | MPL | 5.0+ | |
GNU IceCat | GNU Project version of Firefox browser. | Yes | Yes[8][6] | MPL 2.0 | 4.0.3+ | IceCat contains features not found in mainline Firefox release and eschews all usage of proprietary components. |
Orfox / Tor Browser | Mozilla-based browser enhanced for use on Tor anonymity network | Yes | Yes[9] | MPL | 4.0.3+ | Available in F-Droid by activating the extra Guardian Project repository[10] |
Communication[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
ConnectBot | SSH, telnet, and terminal emulator | Yes | Yes [7] | Apache 2.0 | 1.5+ | |
CSipSimple | SIP & VoIP client | Yes | Yes | GPLv3 | 1.6+ | |
Jitsi | Videoconferencing and instant messenger | Yes | Pending | LGPLv2.1 | ? | Android version is experimental Alpha release. |
K-9 Mail | Advanced email client | Yes | Yes [8] | Apache 2.0 | 2.2+ | Supports OpenPGP integration with OpenKeychain |
Linphone | Video SIP/VoIP client | Yes | Yes [9] | GPLv2 | 2.2+ | |
Sipdroid | SIP/VoIP client | Yes | Yes [10] | GPLv3 | 2.0+ | works on 1.5 |
WordPress | Official WordPress client | Yes | Yes | GPLv2 | 2.3+ |
Privacy/security focused[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
APG | OpenPGP and key management | Yes | Yes | Apache 2.0 | 1.5+ | OpenKeychain available as more up-to-date alternative |
Briar | Peer-to-peer encrypted messaging and forums | Yes | Yes[11][11] | GPLv3 | 4.0+ | |
Conversations | Federatedencrypted instant messaging and group chat | Yes | Yes [12] | GPLv3 | 4.0+ | Interoperable with any Jabber/XMPP clients. End-to-end encryption using OMEMO, OpenPGP (and OTR for versions under 2.0 and the legacy version). |
I2P | Anonymizing network layer | ? | Yes [13] | Apache 2.0 | 2.3+ | Alpha release; do not rely upon it for strong anonymity. I2P also maintain their own F-Droid repo.[12] |
Jami | Softphone and messenger utilizing DHT and strong cryptography | Yes[13] | Yes[14] | GPLv3 | ? | |
Lantern | Apache 2.0 | |||||
OpenKeychain | OpenPGP and key management | Yes | Yes [14] | GPLv3 | Integrates with K-9 Mail. | |
Orbot | Client and proxy for Tor anonymity network | Yes[15] | Yes | BSD/GPL | 1.6+ | |
Psiphon | Client for internet censorship circumvention system | Yes | Yes | GPLv3 | ? | |
Signal | Encrypted instant messaging, voice and video calling | Yes | No | GPLv3 | 2.3+ | Also available for iOS. The Android client is a merger of the former TextSecure and RedPhone apps.[16] Uses proprietary libraries.[17] |
Surespot | Encrypted instant messaging | Yes | Yes [15] | GPLv3+ | Also available for iOS. F-Droid build is based on forked repo. | |
Telegram | Client for cloud-based messaging platform | Yes | Yes [16] | GPLv2 | 2.2+ | Also available for iOS. F-Droid build is based on forked repo.[18] Server uses closed source software. |
Tox | peer-to-peer instant-messaging | Yes | Yes [17] | GPLv3+ | 4.0+ | Alpha release |
Tutanota | Client for end-to-endencrypted email service | ? | Yes[19][18] | GPLv3[20] | ? | |
Wire | Encrypted instant messaging, voice and video calling | Yes | No | GPLv3 | Also available for iOS, Windows and OS X. Server uses closed source software. |
Emulators[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
Dolphin | Nintendo GameCube and Wii | Yes | Yes | GPLv2+ | 5.0+ | Requires device with support for arm64-v8a ABI and OpenGL ES 3 or above |
Mupen64Plus | Nintendo 64 emulator | Yes | Yes | GPLv3 | 2.0+ | Unofficial port as Mupen64 Plus AE. |
openMSX | MSX | Yes | Yes | GPLv2+ | ||
PPSSPP | PlayStation Portable | Yes | Yes | GPLv2+ | 2.3+ | |
RetroArch | Emulates multiple platforms | Yes | Removed | GPLv3[21] | 2.3+ | |
ScummVM | Emulates multiple gaming engines | Yes | Yes | GPLv2 | 1.5+ | |
VICE | Commodore hardware | Yes | Yes | GPLv2 |
Games[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
2048 | Mathematics sliding block puzzle | Yes [19] | Yes[20] | MIT | 2.2+ | Port of 2048 |
Angband | Text-based roguelike | Yes | Yes | GPLv2 | ? | |
Battle for Wesnoth | Turn-based strategy game in a fantasy setting | Partial | No[21] | GPLv2 | 2.3+ | Ported to Android with SDL |
Brogue | Roguelike | Yes | Yes | GPLv3 | ? | |
Dungeon Crawl Stone Soup | Roguelike | Yes | No[22] | GPLv2+ | Text-based version also available | |
Fish Fillets NG | Underwater puzzle game. | Yes | No[23] | GPLv2 | 1.6+ | Port of Fish Fillets NG |
Freeciv | A turn-based strategy game similar to Sid Meier's Civilization | Yes | No[24] | GPLv2 | 2.0+ | |
Frozen Bubble | Knock the bubbles down by making clusters of three or more bubbles in the same color. | Yes | Yes [25] | GPLv2 | 1.6+ | Port of Frozen Bubble |
GLtron | Lightcycle racing game. | Yes | Yes | GPLv2 | 2.2+ | Port of GLtron |
H-Craft Championship | SciFi 3D racing game. | Yes | No [26] | zlib | 3.2+ | Media is proprietary, but free for personal use. |
OpenArena | First person shooter similar to Quake 3 (see: id Tech 3) | Yes | No[27] | GPLv2 | 1.6+ | Unofficial port by 'pelya' using SDL 1.2[22] |
OpenTTD | Business simulation game similar to Transport Tycoon Deluxe | Yes | No[28] | GPLv2 | 1.6+ | pelya SDL port[22] |
OpenTyrian | Vertical shoot 'em up | Yes | No[29] | GPLv2 | 1.6+ | pelya SDL port[22] |
robotfindskitten | A 'Zen Simulation' | Yes | Yes | GPL | 1.6+ | |
Simon Tatham's Puzzle Collection | Collection of puzzle games | Yes | Yes | MIT | 2.1+ | |
Ur-Quan Masters | Source-port for 3DO version of Star Control II | ? | No[30] | GPLv2+, CC by 2.0, CC by-nc-sa 2.5[23] | ? | Game engine is free, but Star Control art assets are released under a Creative Commons non-commercial license.[24][23] pelya SDL port[22] |
Warmux | A turn-based artillery game | Yes | No[31] | GPLv2 | 2.0+ |
General[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
Dasher | Accessible text-input method | Yes | Yes | GPLv3 | ? | Also available for iOS |
Google IO | App for Google IO conference | Yes | Yes | Apache 2.0 | 4.0 | |
OpenLP | Worship presentation software | Yes | Yes [32] | GPLv3 | ? | |
ownCloud | Client for synchronization server | Yes | Yes [33] | GPLv2 | 4.0+ | |
Nextcloud | Client for synchronization server | Yes | Yes [34] | GPLv2 | 4.0+ | |
The White House | The official White House app | Yes | Yes | MIT | 2.2+ |
Multimedia[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
AntennaPod | Podcatcher | Yes | Yes [35] | MIT | 2.3.3+ | |
Kodi (formerly XBMC) | Media player and center | Yes | Yes [36] | GPLv2+ | Multi | |
NewPipe | YouTube and SoundCloud Client | Yes | Yes [37] | GPLv3+ | ? | |
Popcorn Time | Media player utilizing BitTorrent protocol | Yes | Yes | GPLv3+ (AGPL exception)[25] | ? | In Nov. of 2015 PopcornTime.io ceased operations after court order from the MPAA issued in Canada.[26] |
Ringdroid | Ringtone maker | Yes | Yes | Apache 2.0 | 4.1+ | |
Rockbox | Media player | ? | ? | GPLv2+ | ? | |
Tribler | Decentralized video sharing | Yes | Yes | LGPL v2.1+ | 3.0+ | |
Tux Paint | Simple drawing program for children | Non-free | Yes | GPLv2 | ? | Version on Google Play is published by a 3rd-party & contains proprietary ad libraries in violation of upstream developers' license |
VLC | Media player | Yes | Yes [38] | GPLv2+ | 2.1+ | |
Wikimedia Commons | Client for free media repository | Yes | Yes [39] | Apache 2.0 | 2.3+ | Original no longer maintained.[27] Community developed fork has attempted to revive project[28] |
Navigation[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
Avare | GPS aviation application | Yes | Yes | Apache 2.0 | 2.2+ | |
MAPS.ME | Offline mapping using OpenStreetMap data | Yes | Yes [40] | Apache 2.0 | ||
Mozilla Stumbler | Data gathering for Mozilla Location Service | Yes | Yes | MPL2 | 2.3.3+ | |
OsmAnd | Offline mapping using OpenStreetMap data | Yes | Yes [41] | GPLv3 | 2.3+ | Only parts of the software are available at no cost, this cause the software to get a few arbitrary limitation as limited portion maps of openstreetmap may be loaded. There is an unlimited paid version. |
Reading[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
DuckDuckGo | Widget for privacy focused search engine | Yes | Yes | Apache 2.0 | 2.2+ | |
FBReader | e-book reader | Yes | Yes | GPL | 1.5+ | |
iFixit | Official iFixit reader | Yes | Yes | GPLv3 | 2.2+ | |
Kiwix | Offline Wikipedia reader | Yes | Yes | GPLv3 | 4.0+ | |
MuPDF | PDF and XPS viewer | Yes | Yes | AGPL | 2.2+ | |
Wikipedia | Access to Wikipedia | Yes | Yes [42] | GPLv2 | 2.2+ | |
Wiktionary | Client for crowd-sourced dictionary | Yes | Yes | GPLv2 | 2.2+ | |
XOWA | Offline Wikipedia reader | Yes | Yes | AGPLv3 | 4.4+ |
Science and Education[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
BOINC | Participate in distributed grid computing initiatives | Yes | No | LGPL/GPLv3+[29] | 2.3+ | |
EnigmAndroid | Simulation of the Enigma cipher machine | No | Yes | GPLv3+ | 3.0+ | |
Galaxy Zoo | Classify galaxies in crowdsourced astronomy project | Yes | Yes | GPLv3 | 3.0+ | |
GCompris | Educational activity suite for children aged 2–10 | Yes | Yes | GPLv3 | ? | Member project of KDE |
GNU Octave | Scientific programming language syntax with built-in plotting and visualization tools | ? | No | GPLv3 | ? | [30][31] |
micro:bit | Interact with a micro:bit device via Bluetooth | Yes[32] | No[33] | Apache 2.0[34] | ? | Developed by Samsung.[35] Depends on proprietary Google frameworks.[33] |
SageMath | Client for mathematical software | Yes | Yes | GPLv3 | 2.0+ | |
Sugar environment | One Laptop per Child learning platform | Yes | Yes | Apache 2.0 | 2.3.3+ | Ported as Sugarizer. |
Security[edit]
Application name | Description | Availability | License | API[a] | Note | |
---|---|---|---|---|---|---|
Google Play | F-Droid | |||||
Bitwarden | Password manager | Yes | Yes | GPLv3 | 4.4+ | |
Haven | Monitoring system to protect against evil maid attacks | Yes | Yes[36] | GPLv3 | 4.1+ | Developed by Edward Snowden under the auspices of The Guardian Project, and Freedom of the Press Foundation[37] |
KeePassDroid | Password manager | Yes | Yes [43] | GPLv3 | 1.5+ | Port of KeePass |
PasswdSafe | Password manager | Yes | Yes | Artistic License 2.0 | 1.6+ | |
Prey | Anti-theft and monitoring | Yes | Yes | GPLv3 | 4.0+ |
Utilities[edit]
Application name | Description | Availability | License | API[a] | Note | ||
---|---|---|---|---|---|---|---|
APK | Google Play | F-Droid | |||||
Barcode Scanner | Barcode and QR Code reader | Yes | Yes [44] | Apache 2.0 | 4.0.3+ | ||
Impress Remote | Presentation remote control for LibreOffice | ? | Yes [45] | Yes | MPL2[38] | 2.3+ |
Notes[edit]
- ^ abcdefghijklThe API column is used to describe which versions of Android each individual application is compatible with. If API column shows '5.1' then the application is compatible with Android version 5.1 or higher; 'L7' or 'L14' mean specific Android API versions.
See also[edit]
- F-Droid, client and app store for open-source applications
References[edit]
- ^'Learn About Brave and Our Team - Brave Browser'. brave.com.
- ^'Add Brave to F-Droid'. GitHub.
- ^'andDevW/getChromium'. GitHub.
- ^'getChromium - F-Droid - Free and Open Source Android App Repository'. f-droid.org.
- ^'Fennec F-Droid'. F-Droid. Retrieved 4 April 2018.
- ^'Firefox'. f-droid.org. F-Droid. Retrieved 7 November 2016.
- ^'Firefox Klar'. f-droid.org. F-Droid. Retrieved 27 July 2017.
- ^'Firefox Klar'. f-droid.org. F-Droid. Retrieved 26 May 2018.
- ^'Guardian Project Fdroid repo'. guardianproject.info. Guardian Project. Retrieved 18 July 2018.
- ^'F-Droid wiki page on known repositories'. f-droid.org. F-Droid. Retrieved 18 July 2018.
- ^'Briar on F-droid'. https://briarproject.org/fdroid.html.External link in
website=
(help) - ^'Index of /repo/'. f-droid.i2p.io.
- ^'Ring - Apps on Google Play'. play.google.com.
- ^'Ring - F-Droid - Free and Open Source Android App Repository'. f-droid.org.
- ^'Guardian Project Fdroid repo'. guardianproject.info. Guardian Project. Retrieved 18 July 2018.
- ^Greenberg, Andy (2 November 2015). 'Signal, the Snowden-Approved Crypto App, Comes to Android'. Wired. Condé Nast. Retrieved 27 March 2016.
- ^'FOSS gradle build flavor · Issue #6568 · WhisperSystems/Signal-Android'. GitHub. Retrieved 2017-10-12.
- ^'Telegram-FOSS-Team/Telegram-FOSS'. GitHub.
- ^https://f-droid.org/en/packages/de.tutao.tutanota/
- ^mpfau (12 August 2014). 'tutanota/LICENSE.txt'. github.com/tutao/tutanota. Tutao GmbH. Retrieved 13 October 2018.
- ^RetroArch / COPYING. github.com. Retrieved 19 August 2015.
- ^ abcd'pelya/commandergenius'. GitHub.
- ^ ab'COPYING'. sourceforge.net/p/sc2/. The Ur-Quan Masters Git Repository. Retrieved 13 October 2018.
- ^The Ur-Quan Masters licensing
- ^Popcorn Time Foundation. android / LICENSE.md. git.popcorntime.io. Retrieved 19 August 2015. Archived September 7, 2015, at the Wayback Machine
- ^Gardner, Eriq (3 November 2015). 'MPAA Touts Big Legal Success Against Popcorn Time'. The Hollywood Reporter. Retrieved 23 November 2015.
- ^Hartman, Derk-Jan WikimediaMobile Pulling the Commons app lists.wikimedia.org. Retrieved 27 November 2014.
- ^'Commons mobile app'. commons.wikimedia.org. Archived from the original on 16 September 2015. Retrieved 23 November 2015.
- ^Anderson, David Pope (8 August 2008). 'boinc / COPYING'. github.com. Retrieved 25 November 2015.
Rom Walton (7 November 2015). 'boinc / README.md'. github.com/BOINC/boinc. Retrieved 25 November 2015. - ^Corbin Champion. 'corbinlc/octave4android'. github.com. Retrieved 5 February 2019.
- ^Thomas Treichl (21 October 2013). 'Octave on Android'. Octave Maintainers mailinglist. Retrieved 5 February 2019.
- ^'micro:bit application page on Google Play'.
- ^ ab'Request for adding the official BBC micro:bit application'. 2018-07-26. Retrieved 2018-07-28.
- ^'License text in source code repository'. Retrieved 2018-07-27.
- ^'Samsung Launches the Official BBC micro:bit App'. 2016-02-17. Retrieved 2018-07-29.
- ^'Guardian Project Official App Repository'. guardianproject.info.
- ^https://freedom.press/news/introducing-haven-open-source-security-system-your-pocket/
- ^F-Droid - Impress Remote. f-droid.org. Retrieved 3 September 2015.
External links[edit]
There are a number of third-party maintained lists of open-source Android applications, including:
- Android Open Source resources and software database
- F-Droid Repository of free and open-source Android software
- PRISM Break – curated list of security focused open-source alternatives to mitigate some threats of PRISM, XKeyscore and Tempora.
- Droid-Break – curated list of general purpose open-source alternatives. Inspired by PRISM-break.
Download Source Code For Android Apps
- Free Software Directory – community-maintained directory of Free and Open-source software
The hard drive on my laptop just crashed and I lost all the source code for an app that I have been working on for the past two months.All I have is the APK file that is stored in my email from when I sent it to a friend.
Is there any way to extract my source code from this APK file?
Jeroen Vannevel21 Answers
Simple way: use online tool http://www.javadecompilers.com/apk, upload apk and get source code.
Transformers 2007 game voice. Transformers The Game Free Download FULL PC GameTransformers The Game Free Download Full Version RG Mechanics Repack PC Game In Direct Download Links.
Procedure for decoding .apk files, step-by-step method:
Step 1:
Make a new folder and copy over the .apk file that you want to decode.
Now rename the extension of this .apk file to .zip (e.g. rename from filename.apk to filename.zip) and save it. Now you can access the classes.dex files, etc. At this stage you are able to see drawables but not xml and java files, so continue.
Step 2:
Now extract this .zip file in the same folder (or NEW FOLDER).
Download dex2jar and extract it to the same folder (or NEW FOLDER).
Move the classes.dex file into the dex2jar folder.
Now open command prompt and change directory to that folder (or NEW FOLDER). Then write
d2j-dex2jar classes.dex
(for mac terminal or ubuntu write./d2j-dex2jar.sh classes.dex
) and press enter. You now have the classes.dex.dex2jar file in the same folder.Download java decompiler, double click on jd-gui, click on open file, and open classes.dex.dex2jar file from that folder: now you get class files.
Save all of these class files (In jd-gui, click File -> Save All Sources) by src name. At this stage you get the java source but the .xml files are still unreadable, so continue.
Step 3:
Now open another new folder
Put in the .apk file which you want to decode
Download the latest version of apktool AND apktool install window (both can be downloaded from the same link) and place them in the same folder
Open a command window
Now run command like
apktool if framework-res.apk
(if you don't have it get it here)and nextapktool d myApp.apk
(where myApp.apk denotes the filename that you want to decode)
now you get a file folder in that folder and can easily read the apk's xml files.
Step 4:
It's not any step, just copy contents of both folders(in this case, both new folders) to the single one
View Source Code For Android Apps
and enjoy the source code..
Source Code For Simple Android Apps
This is an alternative description - just in case someone got stuck with the description above. Follow the steps:
- download
apktool.bat
(orapktool
for Linux) andapktool_<version>.jar
from http://ibotpeaches.github.io/Apktool/install/ - rename the jar file from above to
apktool.jar
and put both files in the same folder - open a dos box (
cmd.exe
) and change into that folder; verify that a Java Environment is installed (for Linux check the notes regarding required libraries as well) - Start:
apktool decode [apk file]
Intermediate result: resource files,
AndroidManifest.xml
- unzip APK file with an unpacker of your choice
Intermediate result:
classes.dex
- download and extract
dex2jar-0.0.9.15.zip
from http://code.google.com/p/dex2jar/downloads/detail?name=dex2jar-0.0.9.15.zip&can=2&q= - drag and drop
classes.dex
ontodex2jar.bat
(or enter<path_to>dex2jar.bat classes.dex
in a DOS box; for Linux usedex2jar.sh
)Intermediate result:
classes_dex2jar.jar
- unpack
classes_dex2jar.jar
(might be optional depending on used decompiler) - decompile your class files (e.g. with JD-GUI or DJ Decompiler)
Result: source code
Note: it is not allowed to decompile third party packages; this guide is intended to recover personal source code from an APK file only; finally, the resulting code will most likely be obfuscated
BraiamWhile you may be able to decompile your APK
file, you will likely hit one big issue:
it's not going to return the code you wrote. It is instead going to return whatever the compiler inlined, with variables given random names, as well as functions given random names. It could take significantly more time to try to decompile and restore it into the code you had, than it will be to start over.
Sadly, things like this have killed many projects.
For the future, I highly recommend learning a Version Control System, like CVS, SVN and git etc.
and how to back it up.
Source Code For Android Apps In Eclipse
There is also a new application on the Play Store with which it is possible to decompile an apk (system applications too) and view the source code right on your smartphone. It saves the files to your SD card so you can view it on your computer too. It does not require root or something else.
Just install and have fun. I think this is the easiest way to decompile an app.
CilencoCilencoapktool is the best thing you can try. I have saved some xml with it, but honestly I don't know how it will work with the .java code.
I would recommend you to have a code repository even if your are the only coder. I've been using Project Locker for my own projects. It gives you free svn and git repos.
Nikunj ParadvaThese two articles describe how to combine the use of apktool
and dex2jar
to take an APK
file and create an Eclipse project that can build and run it.
Basically you:
- Use
apktool
to get the resource files out of the apk - Use
dex2jar
to get a jar file that contains the classes in a format that Eclipse will like. - Create an Eclipse project point it at the resource files and the new jar file
- Open the jar file with a zip utility and delete the existing resources
- Open the jar file with
JDGui
to view the source code - Take whatever source code you need from
JDGui
, stick it in a class inside Eclipse and modify it - Delete that class from the jar file (so you don't have the same class defined multiple times)
- Run it.
Open Source Apps For Android
Tom Hennenapktool will work. You don't even need to know the keystore to extract the source code (which is a bit scary). The main downside is that the source is presented in Smali format instead of Java. Other files such as the icon and main.xml come through perfectly fine though and it may be worth your time to at least recover those. Ultimately, you will most likely need to re-write your Java code from scratch.
You can find apktool here. Simply just download apktool and the appropriate helper (for Windows, Linux, or Mac OS). I recommend using a tool such as 7-zip to unpack them.
Ryan BergerRyan BergerThere are a few ways to do this:
Use the 'Profile or Debug APK' feature in Android Studio 3.0.
It allows you to open and explore APKs in Android Studio. Classes are decompiled into smali. Resources are not extracted and things like 'Go to Definition', 'Find All References' and debugging don't work without the source code (android studio 3.0 canary 9). Some additional smali features might work with smalidea.
Use jadx.
Jadx decompiles the code in a given APK to java source files.
Use apktool.
Apktool is a command line tool which extracts resources and decompiles code into smali for a given apk. You can recompile using apktool also. Here's an example of it in action:
May be the easy one to see the source:
In Android studio 2.3, Build -> Analyze APK -> Select the apk that you want to decompile
.
You will see it's source code.
Link for reference:
https://medium.com/google-developers/making-the-most-of-the-apk-analyzer-c066cb871ea2
I'll show you other way to decompile the .apk files.
You can follow the first 2 steps from 'prankul garg'. So you have another opportunities:
Step 3':
Download the 'JD-GUI', thats easy to found this one.Open your .jar file in 'jd-gui.exe'. (File > Open file > 'found your .jar file'). After this procedure, you can save all resources in a .zip file.
So,
1st - You have to rename the .apk file to .zip
2nd - You have to decode .dex file (if you want, decode the .apk file to dex2jar, that's possible)
3rd - You have to decode .jar file with JD-GUI
Below ONLINE tool:
it do ALL by one click: decompiled .java files + resources + xml (in one .zip file) with very good decompiler (jadx return java code in places/functions where other compiles return comments inside function like 'unable to decompile' or some android assembler/machine code)
Vadim KotovThis site https://www.apkdecompilers.com/ did it automatically.
I tried the site mentioned in the accepted answer first but that didn't work for me.
M. Usman KhanM. Usman KhanI personally recommend Show Java Android App to get the source code. You can download it from play store or from here
Apktool for reverse engineering 3rd party, closed, binary Android apps.
It can decode resources to nearly original form and rebuild them after making some modifications.
It makes possible to debug smali code step by step. Also it makes working with an app easier because of project-like file structure and automation of some repetitive tasks like building apk, etc.
Biswajit KarmakarBiswajit Karmakarapktool is THE way to go.Online apktool service exists as well: http://www.javadecompilers.com/apktool
Some limitations, obviously, exist due to the service ‘online nature’: you may extract and research assets and the manifest file, but it is impossible to recompile the application at the moment.
Still, this is a no-hassle way to 'open' the android application.
You can try DexPatcher. It even integrates with Android Studio. It uses Apktool and Dex2Jar internally.
You can use those tools independently as well.Apktool decompiles apk, and extracts .dex files, which can further be converted to jar using Dex2Jar. Jar can be decompiled by using JD-GUI. You can see the Java code with the help of that tool. Although the similarity of decompiled code to the actual code cannot be guaranteed. There are some advanced code obfuscation tools available in the market, which mess up the code to make it difficult to decompile / understand. eg. Proguard
Android studio offers you to analyse any apk file.
1 - From build menu choose analyse apk option and select apk file.2 - This will result in you the classes.dex file and other files.3 - Click on classes.dex which will give you the list of folders, packages, libraries and files.4 - From and android studio settings install a plugin called 'Dex to Jar' 5 - click on any activity file of your extracted project and choose dex to jar from the build menu.
This will result in you the actual code of your java file.
Cheers.
The simplest way is using Apk OneClick Decompiler. That is a tool package to decompile & disassemble APKs (android packages).
FEATURES
- All features are integrated into the right-click menu of Windows.
- Decompile APK classes to Java source codes.
- Disassemble APK to smali code and decode its resources.
- Install APK to phone by right-click.
- Recompile APK after editing smali code and/or resources.During recompile:
- Optimize png images
- Sign apks
- Zipalign
REQUIREMENTS
Java Runtime Environment (JRE) must be installed.
You can download it from this link Apk OneClick Decompiler
Enjoy that.
Masoud MokhtariMasoud MokhtariI found the following as the simplest method:
- Rename your app.apk to app.zip (Change extension from apk to zip)
- Extract the zip file into a folder
- Use JADX tool to read the source code, present in classes.dex file.
There's an app for that and generally takes just a few clicks and you are done.https://github.com/Nuvolect/DeepDive-Android
- Select Apps, under 'Installed Apps' select your app. If it is notthere you can load the APK.
- Select 'Extract APK'
- Select 'Unpack APK'
- Select 'Decompile with Jadx'. This can take a few seconds or a few minutes depending on the speed of your device
After that you can browse the source code, download it to another computer with elFinder or search through it using Lucene.
In addition to Jadx it has CFR and Fernflower decompilers.
based on your condition, if your android apk:
Choice1: using online service
such as:
using www.javadecompilers.com
goto:
- http://www.javadecompilers.com/apk
- Note: internally using Jadx
to auto decode from apk to java sourcecode
steps:
upload
apk file + click Run
+ wait some time + click Download
to get zip + unzip ->
sources/com/{yourCompanyName}/{yourProjectName}
is your expected java source code
Choice2: decompile/crack by yourself
use related tool to decompile/crack by yourself:
use jadx
/jadx-gui
convert apk
to java sourcecode
download jadx-0.9.0.zip then unzip to got bin/jadx
, then:
- command line mode:
- in terminal run:
jadx-0.9.0/bin/jadx -o output_folder /path_to_your_apk/your_apk_file.apk
- output_folder will show decoded
sources
andresources
sources/com/{yourCompanyName}/{yourProjectName}
is your expectedjava sourcecode
- in terminal run:
- GUI mode
- double click to run
jadx-0.9.0/bin/jadx-gui
(Linux'sjadx-gui.sh
/ Windows'sjadx-gui.bat
) - open
apk
file - it will auto decoding -> see your expected java sourcecode
save all
orsave as Gradle project
- double click to run
eg:
the main method of 3 steps
:
apk/app to dex
dex to jar
jar to java src
detailed explanation:
Step1: apk/app to dex
use tool (FDex2
/DumpDex) dump/hook out (one or multiple) dex
file from running app
steps:
prepare environment
- a
root
ed android- real phone
- or emulator
- here using ChineseNox App Player夜神安卓模拟器
- install your android apk
- to the phone or emulator
- installed Xposed Installer
- install
FDex2
/DumpDex into XPosed and enable it- Note: need restart Xposed to make FDex2 work
- FDex2 download address, Chinese:
- 链接: https://pan.baidu.com/s/1lTF8CN96bxWpFwv7J174lg 提取码: 3e3t
- install your android apk to phone/emulator
dump out dex
from running app
run
FDex2
then click your apk name to enable later to capture/hook out dex- (in phone/emulator) run your app
- find and copy out the dump out whole apk resources in
/data/data/com/yourCompanyName/yourProjectName
- in its root folder normally will find several
dex
file
- in its root folder normally will find several
Step2: dex to jar
use tool (dex2jar
) convert (the specific, containing app logic) dex
file to jar
file
download dex2jar got dex-tools-2.1-SNAPSHOT.zip, unzip got dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh
, then
sh dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh -f your_dex_name.dex
eg:
Step3: jar to java src
use one of tools:
- Procyon
- GUI tool based on procyon:
- some others:
convert jar
to java src
for from jar to java src converting effect:
Jadx
>Procyon
>CRF
>>JD-GUI
so recommend use: Jadx
/jadx-gui
steps:
- double click to run
jadx-gui
- open
dex
file File
->save all
eg:
exported java src:
More detailed explanation can see my online ebook Chinese tutorial:
- 安卓应用的安全和破解
- tutorial's source code on github: crifan/android_app_security_crack: 安卓应用的安全和破解
protected by Community♦Jun 2 '11 at 5:18
Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?