Intent- Intents are asynchronous messages which bind individual components to each other at runtime.Intents allows to interact with other android components. It is much similar like databases and has four methods.Įxported - Attribute which says whether the service can be accessed by other application or not External apps can query or modify data if permitted by the content provider. A content provider can store data in different formats such as a file, SQLite database, or even fetch data over the network. An example of this can be apps showing notifications for certain events like alarms, reminders, app notifications, etc.Ĭontent Providers- A content provider supplies data from one application to others on request. By default services aren't exported but it can be configured in the manifest: īroadcast receivers- A broadcast receiver is a component that enables the system to deliver events to the app outside of a regular user flow, allowing the app to respond to system-wide broadcast announcements. Services do not have a UI.Ī service can be exported which allows other processes on the device to start the service. background sync, handling notifications, playing music. Services perform operations in the background i.e. Services- A service is a general-purpose entry point for keeping an app running in the background for all kinds of reasons. The launcher activity will have the following MAIN and LAUNCHER intents listed. You can determine the launcher activity by looking at the application’s manifest. The launcher activity is the activity that is started when a user clicks on the icon for an application. The launcher activity is what most people think of as the entry point to an Android application. see what’s on the screen and perform actions. Activities provide the users with an interface to interact with the app i.e. It represents a single screen with a user interface(UI). > resources.arsc: a file containing precompiled resources, such as binary XML for example.Īctivity- An activity is an entry point for interacting with the user. > res/: the directory containing resources not compiled into resources.arsc This can happen especially when malware authors want to try and “hide” additional code, native or Dalvik, by not including it in the default locations.
> mips: compiled code for MIPS processors only > armeabi-v7a: compiled code for all ARMv7 and above based processors only > armeabi: compiled code for all ARM based processors only > lib/: Native libraries for the application, by default, live here! Under the lib/ directory, there are the cpu-specific directories. This is the Java (or Kotlin) code that the application will run by default. > x: Dalvik bytecode for application in the DEX file format.