Skip to content
DeveloperMemos

Uninstalling an App Programmatically in Android

Android, App Development, Uninstalling Apps1 min read

Uninstalling an app programmatically can be useful in certain scenarios, such as creating a cleanup feature or managing app installations from within your own application. In this article, we'll discuss various ways to uninstall an app using Kotlin in an Android application.

Method 1: Using Package Manager

The first method involves utilizing the PackageManager class, which provides access to information about installed packages on an Android device. To uninstall an app using this approach, follow these steps:

1val packageName = "com.example.package" // Replace with the package name of the app you want to uninstall
2
3val intent = Intent(Intent.ACTION_DELETE)
4intent.data = Uri.parse("package:$packageName")
5startActivity(intent)

In the code snippet above, we create an Intent with the action ACTION_DELETE and set the data URI to "package:" followed by the package name of the app we want to uninstall. Finally, we start the activity using the intent, which prompts the user to confirm the uninstallation.

Method 2: Using Shell Commands

The second method involves executing shell commands to uninstall an app. This approach requires the android.permission.DELETE_PACKAGES permission in your Android manifest file. Here's an example of how to uninstall an app programmatically using shell commands:

1val packageName = "com.example.package" // Replace with the package name of the app you want to uninstall
2
3val command = "pm uninstall $packageName"
4Runtime.getRuntime().exec(command)

In the code snippet above, we use the pm uninstall command followed by the package name of the app we want to uninstall. The Runtime.getRuntime().exec() method executes the shell command, which uninstalls the specified app. Keep in mind that you would actually have to have root access to use this method...

Method 3: Using ADB (Android Debug Bridge)

The third method involves using ADB (Android Debug Bridge), a command-line tool that allows communication with an Android device or emulator. With ADB, you can uninstall apps directly from your computer without the need for any additional permissions in your app or even root. Here's how you can uninstall an app using ADB:

1adb uninstall com.example.package

In the command above, replace com.example.package with the actual package name of the app you want to uninstall. Running this command in the terminal uninstalls the specified app from the connected Android device/emulator.


In this article, we explored different methods to programmatically uninstall an app in Android using Kotlin. We covered three approaches: using the PackageManager, executing shell commands, and utilizing ADB. Each method has its own advantages depending on the context and requirements of your application. Remember to handle app uninstallations carefully, ensuring user consent and permission requirements are met.