با سلام
ساختار فایل apk به صورت یک فایل zip شده است که اغلب برنامه نویسان با ابزارهایی که در اختیار دادند سورسهاشون قبل از اینکه apk کنن نا خوانا میکنن تا از مهندسی معکوس رو کد هاشون جلوگیری کنن.
وقتی این فایل روی سیستم عامل اندروید unzip میشه سیستم عامل یکسری از شاخه ها که عمومی ان مثل DataBase رو تو یک چنین مسیری ذخیره میکنه
data/data/your_package/databases
ساختار فولدرها به صورت زیر می باشد
AndroidManifest.xml the manifest file in binary XML format.
classes.dex application code compiled in the dex format.
resources.arsc file containing precompiled application resources, in binary XML.
res/ folder containing resources not compiled into resources.arsc
assets/ optional folder containing applications assets, which can be retrieved by AssetManager.
lib/ optional folder containing compiled code - i.e. native code libraries.
META-INF/ folder containing the MANIFEST.MF file, which stores meta data about the contents of the JAR. which sometimes will be store in a folder named original.The signature of the APK is also stored in this folder
هر فایل APK شامل یک فایل AndroidManifest.xml است که نام بسته بسته نرم افزاری، اجزای نسخه و سایر فراداده ها را اعلام می کند. جزئیات کامل مشخصات مشخصات اندروید مانیفست را می توان در اینجا مشاهده کرد. در زیر فقط چند ویژگی مشترک است که می توانند در AndroidManifest شناسایی شوند.
Manifest tag contains android installation mode, package name, build versions
Permissions custom permission and protection level
uses-permissions requests a permission that must be granted in order for it to operate, full list of permission api can refer here.
uses-feature Declares a single hardware or software feature that is used by the application.
Application The declaration of the application. Will contains all the activity
Activity Declares an activity that implements part of the application visual user interface.
intent-filter Specifies the types of intents that an activity, service, or broadcast receiver can respond to.
service Declare a service as one of the application components.
receiver Broadcast receivers enable applications to receive intents that are broadcast by the system or by other applications, even when other components of the application are not running.
provider Declares a content provider component. A content provider is a subclass of ContentProvider that supplies structured access to data managed by the application.