This tool allows you to analyze various details about Android APK files. It can decompile binary xml files and resources.

Note: All APK processing is done on the client side. Your APK files won't be transferred to the server.

If you you're an Android enthusiast that likes to learn more about Android internals, I highly recommend to check out the Bugjaeger app. It allows you to connect 2 Android devices through USB OTG and perform many of the tasks that are normally only accessible from a developer machine via ADB directly from Android phone/tablet.

Activities

Activities are the basic application components that provide an interface to the user - a single screen that can host UI elements. An application usually provides one or more activities and allows the user to navigate between each of them.

Services

Services are application components that are mostly used for background processing tasks, for example, playing music, downloading files, or performing some time consuming computation.

Broadcast Receivers

Broadcast receivers allow to exchange events between app components or even between different apps. With broadcast receivers, events can be delivered even to apps that aren't currently running (for example app can listen to system events). Android uses Intents to deliver these events to broadcast receivers.

Content Providers

Content providers allow an Android app to manage and share data. They provide a unified interface for managing app's data which allows to use an URI scheme to map URI to data items.

Requested Permissions

When an app wants to access resources or various device capabilities, it often has to request permissions from the user to do so. Some permissions are granted by the user when installing the app and some need to be additionally confirmed while an app is running. The requested permissions are declared in app's AndroidManifest.xml file.

AndroidManifest.xml

Android manifest contains important information about the app that is used by the development tools, Android system, and app stores. It contains app's package name, version information, declarations of app components, requested permissions, and other important things. It is serialized into a binary xml format and bundled inside app's APK file.

APK Signature

Valid Android APK files contain a signature which allows to identify the author of the APK file. This is especially useful when installing updates to already installed apps because it allows you to verify that the updated version comes from the same author. You can find out who signed the APK and other signature/certificate information with my cert tool
sisik.eu/cert

64 Bit Architecture Support

Some APKs contain native C++ code which has to be compiled for each supported ABI (e.g. armeabi-v7a, x86, arm64-v8a, x86_64). This is usually done with Android NDK.

This tool allows you to check if the APK contains native C/C++ code and also if it supports 64 bit architectures. If your APK contains native code, there should be a "Supported ABIs" section at the top. If your APK also supports 64 bit architecture, there should be an ABI listed with a name containing the digit "64"(e.g. arm64-v8a or x86_64)

App Source Code

The code that developers write in Java or Kotlin is compiled and put into one or more classes.dex files, which are then packaged into the final APK file. If you're curious about the inner workings of the code, you can convert the compiled code into human readable form of dalvik bytecode. Use my apk-dump tool for this
sisik.eu/apk-dump

Android Partitions & Image Files

Android operating system uses multiple filesystem partitions to boot up and work. Google offers image files that contain these partitions for its own devices. If you want to learn more about Android filesystem partitions and image files, or you would like to extract files and resources from these partitions, use my aimg tool to do this
sisik.eu/aimg

You Want to Analyze Other File Formats (Not Only APK)

You can use my file tool to find more information about various binary formats
sisik.eu/file

You Want More Features or Something Is Not Working

If you would like to have some additional features or you're experiencing some issues with this app, don't hesitate to write directly to my email
roman@sisik.eu

Recommended Apps & Tools

For those of you who like to hack around Android and see more of its internals, I highly recommend to check out my Bugjaeger app

https://play.google.com/store/apps/details?id=eu.sisik.hackendebug

If you want to analyze APK files located directly on your Android device, you can try my Power Apk Android app

https://play.google.com/store/apps/details?id=eu.sisik.apktools

Android devices contain multiple partition types (boot, system, data). If you already have an .img file and you would like to extract other files and information from it, you should try my online tool for extracting Android image partitions www.sisik.eu/aimg

I also created a more generic tool that can give you information about binary and textual file types. You can use it for example for getting ABIs of your native .so libraries www.sisik.eu/file

APK Tool

Something is not working? Or you would like some additional features? You can contact me directly at my email roman@sisik.eu and write your requirements.



This tool uses parts of the Android Open Source Project that are licensed under Apache version 2.0 license.

Sixo Apps

If you're curios about the technical aspects of Android or you like image & video processing apps, you might find something interesting amongst the apps that I've published on Google Play