How to delete dynamic feature module after uninstall?

dynamic feature module android
dynamic feature module medium
android feature module tutorial
how to create dynamic app in android studio
create dynamic module android
splitinstallmanager deferredinstall
dynamic apk
you must upload an instant-enabled android app bundle to an instant track

My application has 2 features: "base" and "extend".

manifest extend feature:

<dist:module
    dist:onDemand="true"
    dist:title="@string/title_extend">
    <dist:fusing dist:include="true" />
</dist:module>

download feature with SplitInstallManager -> startInstall

unintsalling with SplitInstallManager -> deferredUninstall

Check installed modules with SplitInstallManager -> getInstalledModules

Extend feature is loading from play store success and work as expected. When this feature has become unnecessary - uninstall it.

more, SplitInstallManager has callbacks: SuccessListener, FailureListener, CompleteListener. Install and Uninstall completely with success (no errors).

But, after uninstalling Extend feature (and after restart application) it is stay installed.

How to delete uninstalled feature from the application (need remove no used code and resources) ?


As explained in the API of the deferredUninstall method:

Once called, the Play Store will try to eventually remove those modules in the background.

The uninstalled modules will be removed while the app is not working at some point in the next 24 hours.

About Dynamic Delivery, Modularize your app; Use dynamic feature modules for custom delivery but not after that, you can reduce install size by requesting to remove the feature from� I want to completely remove the Dynamic Theme programs from my desktop. Can you help me make that happen. I have tried going the route of changing my background from Theme to another source but the Theme keeps over riding my selection.


from https://developer.android.com/guide/app-bundle/playcore#uninstall_modules:

Module uninstalls do not occur immediately. That is, the device uninstalls them in the background as needed to save storage space. You can confirm that the device has deleted a module by invoking SplitInstallManager.getInstalledModules() and inspecting the result, as described in the previous section.

So You could try to fill up storage space on your device and see if that triggers an uninstall :)

By the way: On the play store page for the app that I am currently testing via "internal early access", there is a section "deferred actions" which lists all modules marked for deferred uninstall. There also is a button "run deferred actions" which actually removes those modules completely.

Configure at-install delivery, Configure a new module for at-install delivery; Dynamic feature and then uninstall the dynamic feature module after the user is set up to use your app. the shrinker might remove the module title string resource if code in� Example 1: Uninstall a module. This example uninstalls a module. Uninstall-Module -Name SpeculationControl. Uninstall-Module uses the Name parameter to specify the module to uninstall from the local computer. Example 2: Use the pipeline to uninstall a module. In this example, the pipeline is used to uninstall a module.


Here is what I noticed.

1) Uninstalling the app removes the downloaded modules, so the next time you run the app, the app will download the modules again.

2) Clearing the app data (e.g. adb shell pm clear APP_PACKAGE_NAME) makes the module not available to the app immediately, but if the module is already downloaded before clearing the app data, it won't be downloaded again. In other words, you won't see SplitInstallSessionStatus.DOWNLOADING.

3) Once the downloadable module becomes available to the app, clearing the app data of "Google Play services" (i.e. adb shell pm clear com.google.android.gms) doesn't make a difference. But occasionally, the downloadable module sticks around even after uninstalling the app, especially when the module's name changes. Then 3) becomes handy to clear the stale modules.

I think what's happening here is when the app requests a downloadable module, Google Play services downloads the module, hands it over to the app, and caches a copy of it, just in case the app requests it again. If the app is uninstalled, Google Play services removes the cached module. deferredUninstall() is just asking Google Play services to uninstall the modules if necessary, but we have no control on when that would happen, if ever.

Android Dynamic Feature Modules : The Future, Users can download and install these modules later on demand after they've To add a dynamic feature module to your app project using Android To uninstall modules, invoke deferredUninstall(List<String> modules). In the Create New Module dialog, select Dynamic Feature Module and click Next. 2. On the Configure your new module screen, give your module a name. 3. To uninstall modules,


Dynamic Feature Modules (DFMs), Android App bundles and Dynamic Feature Modules (DFMs) is a Play Store feature that allows Remove android:hasCode="false" when adding Java code. creates a FooModule class that can be used later to install and access the module. Don't waste time playing hide and go seek with your modules, and uninstall them from the console too! In this video, we'll learn to unload a module from your current session using Remove-Module.


On Demand Modules, Dynamic feature modules allow you to separate certain features and and install those components on demand after they've already installed the base APK of your app. for your on-demand modules; Request the deferred uninstallation of an on-demand module This is the line to remove from the app's build.gradle file :� Keep in mind, each dynamic feature module must configure only one type of these custom delivery options. <dist:install-time> Specifies that the module should be available at install time. This is the default behavior for dynamic feature modules that do not specify another type of custom delivery option.


Dynamic feature module, Android OnDemand module : Android App , If your app has the dynamic feature module then google play enable onDemand and Fusing checkbox too, I'll explain about those later in this� Run the following Drush command to uninstall the module: drush pm-uninstall module_name. Or use the Drush alias: drush pmu module_name. Next, clear cache using the Drush command: drush cr. That's it. The uninstalled module will no longer show as checked in the module list and the functionality of the module will have been removed from the site.