Understanding Android application

24年 12月 31日 Tuesday
140 words
1 minutes

understanding android application package

this process involved some tools to build it, reverse it and debug it on runtime:

  • some of the tools used for manual build without build system: aapt2, javac, d8, zip, zipalign, apksigner, keytool
  • reverse apk: apktool
  • android runtime debugger: jdb, frida
  • check number of classes and methods: javap for .class file, baksmali for .dex file or examine it at runtime with your choosed debugger

you'll find one or more classes.dex on the disassembled version from apktool, if there's more than one dex file, it means the java methods stored in the application is large enough that it must be separated into different dex file, it's called multidex apk

some of android library is arch specific, such as lifecycle-runtime, kotlinx-coroutines-core, collection, etc (reference)

reference:

Title:Understanding Android application

Author:ReYuki

Link:https://www.reyuki.site/posts/understanding-android-application [copy]

Last updated:


This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. You are free to share and adapt it, as long as you give appropriate credit, don’t use it for commercial purposes, and distribute your contributions under the same license. Provided under license CC BY-NC-SA 4.0