User Tools

Site Tools


doc:appunti:hardware:blackview_bv5300_pro_change_launcher

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:hardware:blackview_bv5300_pro_change_launcher [2024/08/12 06:49] – [Lawnchair] niccolodoc:appunti:hardware:blackview_bv5300_pro_change_launcher [2024/08/26 12:53] (current) niccolo
Line 1: Line 1:
 ====== Changing the default launcher on the Blackview BV5300 Pro ====== ====== Changing the default launcher on the Blackview BV5300 Pro ======
  
-I have a **[[blackview_bv5300_pro|Blackview BV5300 Pro]]** smartphone; I managed to root the phone to gain administrator privileges and now I want to change the default Blackview launcher which is called **BvLauncher**. +I have a **Blackview BV5300 Pro** smartphone; I managed to [[blackview_bv5300_pro|root the phone]] to gain administrator privileges and now I want to change the default Blackview launcher which is called **BvLauncher**. I wish also to disable or remove several system apps (some from Googleothers from Blackview)which annoy me because I don't need them, but they spawn running processes and require to be updated from time to time.
- +
-The main reason for using a different launcher is because BvLauncer has a bug preventing to disable the **At a Glance** widget. Another bug prevents the resizing of widgetse.g. I cannot have a 3x3 [[https://f-droid.org/bo/packages/ws.xsoh.etar/|Etar calendar]] widget or a 3x3 [[https://f-droid.org/bo/packages/com.termux.widget/|Termux:widget]]. +
- +
-I suspect also that the Blackview launcher is somewhat a spyware, because the operating systems tries in any way to prevent you from disabling or replacing it with other launchers.+
  
 +The main reason for me using a different launcher is because BvLauncer has a bug preventing to disable the **At a Glance** widget. Another bug prevents the resizing of widgets, e.g. I cannot have a 3x3 [[https://f-droid.org/bo/packages/ws.xsoh.etar/|Etar calendar]] widget or a 3x3 [[https://f-droid.org/bo/packages/com.termux.widget/|Termux:widget]].
  
 +I suspect also that the Blackview launcher is somewhat a spyware, because the phone tries hardly to prevent you from choosing another Home app the app is always restarted even if you force-stop it (the same apply to the other Blackview launcher, called **DKGameMode**).
  
 ===== Lawnchair ===== ===== Lawnchair =====
  
-Obviously I want an open source launcher, so I ignored the plethora of launcers available on the Google Play store. In the past I used the **[[https://f-droid.org/packages/amirz.rootless.nexuslauncher/|Rootless Pixel Launcher]]** from F-Droid, but unfortunately the app was not ported for newer Android versions.+{{.:bv5300pro:bv5300-pro-lawnchair-launcher.png?180 |Lawnchair launcher on the Blackview BV5300 Pro}} 
 +Obviously I want an **open source** launcher, so I ignored the plethora of launcers available on the Google Play store. In the past I used the **[[https://f-droid.org/packages/amirz.rootless.nexuslauncher/|Rootless Pixel Launcher]]** from F-Droid, but unfortunately the app was not ported for newer Android versions.
  
 Then I came across **[[https://lawnchair.app/|Lawnchair launcher]]** which seems a very promising open source project. Unfortunately it does not have a build available on F-Droid or other repositories, so I resorted on downloading the **Version 14 Beta 2** as an apk file. Then I came across **[[https://lawnchair.app/|Lawnchair launcher]]** which seems a very promising open source project. Unfortunately it does not have a build available on F-Droid or other repositories, so I resorted on downloading the **Version 14 Beta 2** as an apk file.
Line 19: Line 18:
 ===== QuickSwitch ===== ===== QuickSwitch =====
  
-FIXME+After installing Lawnchair I set it as the **default Home app**, from the Android Settings. The first problem I encounterd was that setting the Home app do not survive a phone reboot: after a restart the Home app is restored to the stock BvLauncher. Another problem is that **the //Recents// provider** (the list of opened apps accessible through the soft navigation button of Android system bar) remains set to BvLauncher, where it sould be provided by Lawnchair itself. As far I can understand, in newer Androids the //recents provider// must be a **//system app//**, while Lawnchair is installed as a normal user app. 
 + 
 +{{ .:bv5300pro:quickswitch-lawnchair.png?direct&220|QuickSwitch app}} 
 +To solve this problem I installed a Magisk module called **[[https://github.com/skittles9823/QuickSwitch|QuickSwitch]]**. This is a zip archive to be added as a Magisk module. Indeed I used Magisk to root my BV5300 //systemlessly// (e.g. by changing only the boot partition, not the system one). 
 + 
 +QuickSwitch was created to permit the user to choose the //recents// provider on Android 9+, the module also promote the selected launcher as a //system app//. You install the zip file from the //Modules// icon of the Magisk app; once installed and rebooted, you will find the QuickSwitch companion app. Launch it and you will see a list of //recents// providers (the stock BvLauncher and the installed Lawnchair in my case). I selected Lawnchair and the app configured the Magisk modules accordingly: the Lawnchair app is removed from the user apps and moved into the module itself, so it will be installed //systemless// on each reboot as a system app. Other settings into the module will set Lawnchair as the recents provider. 
 + 
 +**NOTICE**: To work properly I had to install **QuickSwitch 4.0.3**. The previous version 4.0.2 worked only partially: it moves the launcher as a system app, but it cannot set it as the recents provider, which remains stuck to the stock BvLauncher. 
 + 
 +**NOTICE**: QuickSwitch installs iteself as a Magisk module, you can find it into **/data/adb/modules/quickswitch/**. The Lawnchair app is actually removed from the //user space apps// and re-installed as a //system app// on each reboot. This installation is performed //systemless// i.e. without actually changing the system partition, but merging some directories into the volatile running system at boot time. You can find the app installed by this module into something like **/data/adb/modules/quickswitch/system/priv-app/QuickSwitch-app.lawnchair-NNN/** (where "NNN" are three random digits). This means that - if you remove this Magisk module - the Lawnchair app will be removed too. 
 + 
 +If you have a shell on the device, e.g. the Termux terminal, you can **configure the module on the command line** instead of using the companion app. Open the terminal and execute as root: 
 + 
 +<code> 
 +/data/adb/modules/quickswitch/quickswitch --ch=app.lawnchair 
 +</code>
  
 ===== De-Bloater ===== ===== De-Bloater =====
  
-FIXME+**[[https://f-droid.org/it/packages/com.sunilpaulmathew.debloater/|De-Blater]]** is another useful app that creates and install a Magisk module. This enables you to hide some apps that cannot be uninstalled (e.g. all the system apps that come preloaded on the stock ROM). 
 + 
 +It comes in the form of an app, which requires a device rooted with Magisk. When you launch it, you can select one or more apps to be hidden. Actually **the system partition is not modified** and the apps remains installed. A Magisk mudule is installed instead which - at boot time - makes some //systemless// changes, removing that apps only on the running system. 
 + 
 +When you //remove// an app with De-Bloater, it detects if it is a system app which received an update. This means that the app is installed actually twice: the original one into the system partition (which is not deletable) and the update into the user partition. In this case De-Bloater suggests you to delete the update before, so De-Bloater will disable the original one only. 
 + 
 +Having installed Lawnchair as an alternative Home app and recents provider, I can hide the stock **BvLauncher** app so that the com.blackview.launcher process would no longer execute. The same is for the **Game mode** (DKGameMode.apk), an alternative launcher provided by Blackview intended for the heavy gamers. 
 + 
 +When you //remove// an app with De-Bloater, the De-bloater Magisk module is updated creating a dummy file which will override the actual app into the running system at next reboot. The dummy file contains just the name of the app removed. If you //restore// the app in De-Bloater, the dummy file is removed. 
 + 
 +Now that I understand how De-Bloater works, I prefer to configure it manually (be sure to remove the app update and check the installation path before removing it by hand). To hide **DKLauncher** and **DKLauncherOverlayFramework** I create two files in **/data/adb/modules/De-bloater/**: 
 + 
 +<code bash> 
 +mkdir -p /data/adb/modules/De-bloater/system/system_ext/priv-app/DKLauncher/ 
 +mkdir -p /data/adb/modules/De-bloater/system/system_ext/overlay/ 
 +echo "BvLauncher"
 +  > /data/adb/modules/De-bloater/system/system_ext/priv-app/DKLauncher/DKLauncher.apk 
 +echo "com.blackview.launcher.overlay.framework"
 +  > /data/adb/modules/De-bloater/system/system_ext/overlay/DKLauncherOverlayFramework.apk 
 +</code> 
 + 
 +After a reboot, this has the effect to disable entirely the two packages (apk files). Indeed BvLauncher was gone completely and my only Home app is Lawnchair. 
 + 
 +The following is the list of the app I have hidden (actually this is a merged list of apps that I have de-bloated from Android 12 and Android 13 customized by Blackview): 
 + 
 +<file> 
 +/system/app/DKApkUpdate/DKApkUpdate.apk 
 +/system/app/DKChildMode/DKChildMode.apk 
 +/system/app/DKFeedback/DKFeedback.apk 
 +/system/app/DKFileTrans/DKFileTrans.apk 
 +/system/app/DKFocusMode/DKFocusMode.apk 
 +/system/app/DKGameCenter/DKGameCenter.apk 
 +/system/app/DKGameMode/DKGameMode.apk 
 +/system/app/DKHealth/DKHealth.apk 
 +/system/app/DKLiveWallpaper/DKLiveWallpaper.apk 
 +/system/app/DKNoteBook/DKNoteBook.apk 
 +/system/app/DKWeather/DKWeather.apk 
 +/system/priv-app/DKFrozenApp/DKFrozenApp.apk 
 +/system/priv-app/GoogleFit/GoogleFit.apk 
 +/system/priv-app/UserGuide/UserGuide.apk 
 +/system/product/app/Drive/Drive.apk 
 +/system/product/app/Duo/Duo.apk 
 +/system/product/app/Keep/Keep.apk 
 +/system/product/app/Photos/Photos.apk 
 +/system/product/app/Videos/Videos.apk 
 +/system/product/app/YTMusic/YTMusic.apk 
 +/system/product/overlay/DKDarkModeOne/DKDarkModeOneOverlay.apk 
 +/system/product/overlay/DKDarkModeThree/DKDarkModeThreeOverlay.apk 
 +/system/product/overlay/DKDarkModeTwo/DKDarkModeTwoOverlay.apk 
 +/system/product/priv-app/AndroidAutoStub/AndroidAutoStub.apk 
 +/system/product/priv-app/DKLeftScreen/DKLeftScreen.apk 
 +/system/product/priv-app/DKRadioService/DKRadioService.apk 
 +/system/product/priv-app/FilesGoogle/FilesGoogle.apk 
 +/system/product/priv-app/FindMyDevice/FindMyDevice.apk 
 +/system/product/priv-app/Wellbeing/Wellbeing.apk 
 +/system/system_ext/app/DKFmRadio/DKFmRadio.apk 
 +/system/system_ext/overlay/DKLauncherOverlayFramework.apk 
 +/system/system_ext/priv-app/DKLauncher/DKLauncher.apk 
 +</file> 
 + 
 +^ Google  ^^^ 
 +| AndroidAutoStub.apk         | com.google.android.projection.gearhead  | Android Auto           | 
 +| Drive.apk                   | com.google.android.apps.docs            | Google Drive           | 
 +| Duo.apk                     | com.google.android.apps.tachyon         | Google Meet            | 
 +| FilesGoogle.apk             | com.google.android.apps.nbu.files       | Files by Google        | 
 +| FindMyDevice.apk            | com.google.android.apps.adm             | Google Find My Device 
 +| GoogleFit.apk               | com.google.android.apps.fitness         | Google Fit             | 
 +| Keep.apk                    | com.google.android.keep                 | Keep Notes             | 
 +| Photos.apk                  | com.google.android.apps.photos          | Google Photos          | 
 +| UserGuide.apk               | com.android.manual                      | Manual                 | 
 +| Videos.apk                  | com.google.android.videos               | Google TV              | 
 +| Wellbeing.apk               | com.google.android.apps.wellbeing       | Digital Wellbeing      | 
 +| YTMusic.apk                 | com.google.android.apps.youtube.music   | YouTube Music          | 
 +^ Blackview  ^^^ 
 +| DKApkUpdate.apk             | com.blackview.apkupgrade                |                 | 
 +| DKChildMode.apk             | com.blackview.childmode                 | Child mode      | 
 +| DKDarkModeOneOverlay.apk    | com.blackview.darkmode.one              | DarkModeOne     | 
 +| DKDarkModeThreeOverlay.apk  | com.blackview.darkmode.three            | DarkModeOne     | 
 +| DKDarkModeTwoOverlay.apk    | com.blackview.darkmode.two              | DarkModeOne     | 
 +| DKFeedback.apk              | com.blackview.userfeedback              | User feedback   | 
 +| DKFileTrans.apk             | com.blackview.filetrans                 | Data Migration Assistant 
 +| DKFmRadio.apk               | com.android.fmradio                     | FM Radio        | 
 +| DKFrozenApp.apk             | com.blackview.frozenapp                 | Cold Room       | 
 +| DKGameCenter.apk            | com.blackview.fungamecenter             | FunCenter       | 
 +| DKHealth.apk                | com.blackview.health                    | Health          | 
 +| DKLauncher.apk              | com.blackview.launcher                  | BvLauncher      | 
 +| DKLauncherOverlayFramework.apk  | com.blackview.launcher.overlay_framework  |           | 
 +| DKLeftScreen.apk            | com.blackview.leftscreen                | browser         | 
 +| DKLiveWallpaper.apk         | com.blackview.wallpaper                 | LiveWallpaper   | 
 +| DKNoteBook.apk              | com.blackview.notebook                  | Notebook        | 
 +| DKRadioService.apk          | com.blackview.radioservice              | DKRadioService 
 +| DKWeather.apk               | com.blackview.weather                   | Weather         | 
 + 
 +===== Download ===== 
 + 
 +^ Resource  ^ Local download  ^ Official link  ^ Notes  ^ 
 +^ QuickSwitch v4.0.3  | {{.:bv5300pro:quickswitch-v4.0.3.zip|QuickSwitch-v4.0.3.zip}}  | [[https://t.me/QuickstepSwitcherReleases/139|Telegram channel]]  | QuickSwitch releases are distributed through the **QuickstepSwitcherReleases** Telegram channel.  |
  
doc/appunti/hardware/blackview_bv5300_pro_change_launcher.1723438159.txt.gz · Last modified: by niccolo