Difference between Make Project, Make Module app, Build APK and Generate Signed APK

Make Project: Means you create a real application which is working on a device and has an executable file like an APK.

Make Module: Means you create a library project for you application which is executed with that project and has no executable file like an APK but has a .jar file which works as a library.

Build APK: When you normally run your application, an APK file is generated locally which is like a ZIP file and is easily unzippable, no security is implemented, and you can get the code from that APK file. It is used basically for local testing.

Signed APK: It is that APK you can create with a password and security and it is not easily unzippable and is used for production.

According to IntelliJ :


In the IntelliJ Platform, a project encapsulates all your source code, libraries, and build instructions into a single organizational unit. Everything you do using the IntelliJ Platform SDK is done within the context of a project. A project defines collections referred to as modules and libraries. Depending on the logical and functional requirements to the project, you can create a single-module or a multi-module project.


A module is a discrete unit of functionality that can be run, tested, and debugged independently. Modules includes such things as source code, build scripts, unit tests, deployment descriptors, etc. In the project, each module can use a specific SDK or inherit SDK defined on the project level (see the SDK section later in this document). A module can depend on other modules of the project.

signed APK:

signed packages to deploy and run your applications on physical devices. Based on this signature, the Android system identifies the author of every deployed application. You do not need to apply for a personal signature to any authority, a signature generated by IntelliJ IDEA is quite sufficient.

Build APK:

In debug mode, you sign your app with a debug certificate generated by the Android SDK tools. This certificate has a private key with a known password, so you can run and debug your app without typing the password every time you make a change to your project.

Android Studio signs your app in debug mode automatically when you run or debug your project from the IDE.