[APP][root] Android Auto 3rd party App Enabler

Search This thread

Docsnow

Member
Jun 24, 2016
26
0
For me IT works Not. Apps enabled but not showing on the Headunit.
Whats wrong?

Head Unit : Avin Px6 Android 10 with AutoKit
Handy : Samsung S9+ Android 10 with root. With 3rd party App Enabler, VAG Extensions and Android Widget Unlocked.
But only Android Widget was shown. But when i open it, App closed in a same second.
 
Last edited:

Ginosius

Senior Member
Jul 5, 2011
110
45
Instead of patching carstream, isn't it possible to just get my regular home screen so I can open any app?
E.g. emby or whatever..

---------- Post added at 11:36 AM ---------- Previous post was at 11:36 AM ----------

Instead of patching carstream, isn't it possible to just get my regular home screen so I can open any app?
E.g. emby or whatever..
 

Fishcat7

Senior Member
Feb 23, 2014
161
40
Samsung Galaxy S21 FE
Instead of patching carstream, isn't it possible to just get my regular home screen so I can open any app?
E.g. emby or whatever..

---------- Post added at 11:36 AM ---------- Previous post was at 11:36 AM ----------

Instead of patching carstream, isn't it possible to just get my regular home screen so I can open any app?
E.g. emby or whatever..
You could try to use app Screen2auto. It is like a mirroring of your phone screen to the car screen
 

mhardyman

Senior Member
Jul 10, 2007
180
27
I have a Skoda Superb 2016 which runs Android Auto fine with my sons Xiaomi Mia1. I have the same phone but is rooted (magisk) and has twrp recovery. This seems to make the whole process very buggy and crash the head unit. I have tried hiding Android auto app on my phone. Any advice much appreciated.
 

André Melo.DJ

New member
Jul 12, 2020
1
0
You could try to use app Screen2auto. It is like a mirroring of your phone screen to the car screen



SCRENN2AUTO solves this problem?
-->>

Hello! I wanted help with a simple question. I can mirror my moto g5 normally on the uconnect Media Center without any problems. I use carstream, android auto and As mirror. I can see the mirroring of the moto g5 on the control panel screen but when I click on one of the applications it even opens. But right after, I can't manipulate the applications through the central screen anymore, but only through the moto g5 screen. Can you tell me what I must do to be able to use 100% of the resources only through the multimedia center screen?
 

Fishcat7

Senior Member
Feb 23, 2014
161
40
Samsung Galaxy S21 FE
SCRENN2AUTO solves this problem?
-->>

Hello! I wanted help with a simple question. I can mirror my moto g5 normally on the uconnect Media Center without any problems. I use carstream, android auto and As mirror. I can see the mirroring of the moto g5 on the control panel screen but when I click on one of the applications it even opens. But right after, I can't manipulate the applications through the central screen anymore, but only through the moto g5 screen. Can you tell me what I must do to be able to use 100% of the resources only through the multimedia center screen?
I'm using Screen2auto on the Pioneer AVH Z7100DAB without any problem...
You should try to use screen2auto.
If you are using carstream I don't think that it will be a problem give a try to screen2auto...
 

DAXX

Senior Member
Apr 14, 2014
183
21
Los Angeles
OnePlus 8 Pro
How do I get this to work? Do I need to have a specific android auto enabled radio unit or does this work for any android auto supporting unit? I'm not sure what I'm doing wrong. I have a OnePlus 6t with root. All apps install fine, but nothing shows up on the unit.
 
Last edited:

shmykelsa

Senior Member
Nov 21, 2013
945
644
25
Lecce
OnePlus 6T
Samsung Galaxy Z Fold3
How do I get this to work? Do I need to have a specific android auto enabled radio unit or does this work for any android auto supporting unit? I'm not sure what I'm doing wrong. I have a OnePlus 6t with root. All apps install fine, but nothing shows up on the unit.

As long as the radio supports Android Auto, you'd be good to go. You may want to wipe cache & datas of Google Play Services (and make sure you don't run a beta version of it) if apps don't appear to you.
 

huey45

Member
Feb 23, 2016
25
2
Newcastle-upon-Tyne
Android Auto 3rd party App Enabler

Hi all

I have just came across this app and thought I would give it a go, on My Motorola One Vision
running Android 10 Latest, I have followed all the instructions in the how to notes
downloaded the patcher, went to load apps i wanted to run under AA, and i
keep getting the Warning Phone not ROOTED, as it wont show a 3rd Party app

Any ideas, i have just been given this mobi as B/day Present and dont
want to root it straight away...

Regards...




You have to re-patch the apps you want again after clearing cache & datas
 

shmykelsa

Senior Member
Nov 21, 2013
945
644
25
Lecce
OnePlus 6T
Samsung Galaxy Z Fold3
Hi all

I have just came across this app and thought I would give it a go, on My Motorola One Vision
running Android 10 Latest, I have followed all the instructions in the how to notes
downloaded the patcher, went to load apps i wanted to run under AA, and i
keep getting the Warning Phone not ROOTED, as it wont show a 3rd Party app

Any ideas, i have just been given this mobi as B/day Present and dont
want to root it straight away...

Regards...

Phone must be rooted in order to apply the patch
 

Top Liked Posts

  • There are no posts matching your filters.
  • 42
    Since Android Auto 3.0, third party apps have been removed from Android Auto despite having Developer Options and "Unknown Sources" checked.

    Some developers have came up with a root workaround to allow these apps to show in the menu.

    This workaround is dependent on current AA version to work and has always been implemented by specific apps. Some even had the unlock button in the AAuto interface :)

    This app comes to fix that all.

    It will list the currently installed AA third party apps, and will apply the workaround for them.

    Instructions:
    1. Get AA in developer mode and "Unknown Sources" checked. (details in steps 1-7 in this thread). Start head unit server is not needed in my tests.
    2. Open the app, click "Read apps". Check the apps you want to enable in AA.
    3. Click "Unlock"
    4. Click "Apply".
    5. Reboot.
    6. Enjoy your apps :)

    The indicator of wheter the Chimera service is enabled or not doesn't still work properly, don't take it as reference. Just click unlock every time you want to apply changes in the list.

    The app will be improved whenever I have time.

    Screenshot:
    t0fWF4L.jpg

    Download: https://androidfilehost.com/?fid=1322778262904028904 (updated 15/10 with support to android 5.0 and 6.0)
    18
    Dedicated to Galaxy S9 owners with Android 9 and all other people who get a black screen with AAM
    After updating Android, trouble came to our devices - AAM stopped working and instead of a SurfaceView mirror it shows only a black screen.
    I can please you: the solution is found.
    This is a historical obsolete text, the actual method is located below. To see this, just go to the bottom - to "More simple solution".

    It is formed by combining two programs:
    1. https://play.google.com/store/apps/details?id=info.dvkr.screenstream
    Launches a live broadcast of the device screen on port 8080
    An open source tool, thanks so much to dkrivoruchko (many thanks).
    2. https://github.com/slashmax/AABrowser/tree/master/apk
    Browser for Android Auto, displays this broadcast

    So, how to get a mirror if you have a black screen on AAM:
    1. Install ScreenStream by link 1 above
    2. Install AABrowser by reference 2 above
    3. Unlock AABrowser in AAPP, connect one time to car or emulator
    4. Edit the file /data/data/com.github.slashmax.aabrowser/shared_prefs/com.github.slashmax.aabrowser_preferences.xml
    In the parameters "home page" and "last page" we register:
    http://127.0.0.1:8080
    The easiest way is to edit the file by copying it somewhere, and then replacing the existing one.
    5. Launch ScreenStream, disable “wi-fi only” in the settings

    When connecting to the machine, do the following:
    1. Launch ScreenStream, click "Enable Broadcast"
    2. We connect to the car
    3. Run AABrowser

    This solution displays a complete mirror out of the box, without the support of a touch and a consistent sound to which we are used to AAM. It is planned to make a version based on the method described above, with the support of all these buns. If who wants - make it please :) In the meantime, use video is better than black screen.

    Note: this solution is worse than direct capture of the screen used by AAM, since it introduces a delay of ~ 1s when displaying a picture on the screen. S9 is a powerful device, the delay is very small, a second or less. I don’t know what will happen to others, but the problem seems to be so far only Samsung 9 android, which has nothing to do with weak devices.

    Upd. This manual is for any device, who can't use standart AAM, but I test it only on Galaxy S9.

    upd. I test it in motion. Navigator has no delay or It is not noticeable when you look: at the phone next to the multimedia system, there is no difference. I have a resolution of 720 and 1080 in the settings.
    But in menu I have very little delay

    Updated
    A modified version of AAM is available, based on this method, with all the goodies from the original AAM.
    Everything is simplified a bit with her, no need to mess around with AABrowser.

    For full-fledged work after installation, it must be made systemic, otherwise the screen settings are not applied until know why (some rights are not enough).
    And then everything is simple - we start the broadcast, run AAM_mod instead of AABrowser, enjoy.

    More simple solution
    Detailed instructions for modified AAM
    1. Install ScreenStream https://play.google.com/store/apps/details?id=info.dvkr.screenstream
    (but version from update below is more recommended)
    2. Install AAM_mod
    (version from update below is more recommended)
    3. Making it a system app (optional, but otherwise some screen settings, for example, rotation, are not applied)
    4. Unlock AAM_mod in AAPP
    5. Launch ScreenStream, disable “wi-fi only” in the settings

    For each connection to the machine, do the following:
    1. Launch ScreenStream, click "Enable Broadcast"
    2. We connect to the car
    3. Run AAM_mod

    If you have problems with rotation, please, connect to car with standart orientation and when you see your mirror on car display, change orientation to other.
    Note. If ScreenStream not work, try ScreenStream v2

    Update!
    Unexpectedly for me, many were outraged by the new decision due to the fact that the picture is displayed in full screen, but has a small indent. “We have tiny displays already!”, - they shouted :)
    These requests were heard, the problem was eliminated.
    The problem turned out to be in ScreenStream, for its elimination it is enough to replace the data / assets / index.html file in apk, and the holiday will come again to our street.
    It did it for version 3.0.16, but if you want to do for the latest version, it is very easy through the ApkEditor program. Recorded a video about rebuilding the package and publish index.html, but if you are not a geek, just put the attached files and enjoy :)


    The frames are removed in ScreenStreamMod! In AAM, only the shift of the wheelbarrow is fixed.
    In general, the latest version of the alternative mirror is enclosed in these files (remove previous versions)

    aam_mod2.apk: https://forum.xda-developers.com/attachment.php?attachmentid=4717719&stc=1&d=1551874248
    ScreenStream_mod.apk: https://forum.xda-developers.com/attachment.php?attachmentid=4717718&stc=1&d=1551874248

    ScreenStream v2 mod (previous version, some like it more): https://forum.xda-developers.com/attachment.php?attachmentid=4720342&stc=1&d=1552215688

    If you use the AAM "Ajust ratio on focus" option, you first need to run AAM on the machine and only then start the broadcast

    Solving problems with screen cutout: https://forum.xda-developers.com/showpost.php?p=79084489&postcount=484
    17
    SOLUTION FOR A MIRROR ON LAST GMS/AA WITHOUT DANCING AROUND IT
    Code:
    inserted 10.12.2018
    Meet the AA Phenotype Patcher: https://forum.xda-developers.com/showpost.php?p=78402151&postcount=317
    Stated that he does everything for you completely, even sql puts, but personally did not check.
    1. First of all, delete all your unlockers. They are not needed anymore
    2. Turn back on Chimera and all previously disabled Google services. They do not interfere with the work of the mirror.
    3. Switch Android Auto to Release mode, uncheck Unknown sources
    4. Install Termux https://play.google.com/store/apps/details?id=com.termux&hl=ru
    5. Install Sqlite3 for root, launch it and click Install. https://play.google.com/store/apps/details?id=com.kanolato.sqlite&hl=ru
    6. Go to Termux.
    Perform successive commands and restart the phone. After that, AAMirror will always remain in the list of Android Auto applications, with the latest versions of services and the application itself. No loss anymore.

    0
    su

    1. Open DB
    sqlite3 /data/data/com.google.android.gms/databases/phenotype.db

    2. Insert flags
    Code:
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car#car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car#car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    If you encounter Error NOT NULL constraintfailed: Flags.version (and only in this case, because car instead of car # car is used extremely rarely on phones and there is no way to check, it may not work!) Try
    Code:
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    If there is a failure here, try the third option (often does not work, but try to do it)
    Code:
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 240, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", (SELECT version FROM ApplicationStates WHERE packageName="com.google.android.gms.car#car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 240, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", (SELECT version FROM ApplicationStates WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    And fourth solution
    Code:
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 240, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", (SELECT version FROM ApplicationStates WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    3. Make a trigger to prevent their removal (only if there were no errors in the previous paragraph)
    If in the last paragraph there were no errors:
    Code:
    CREATE TRIGGER after_delete AFTER DELETE
    ON Flags
    BEGIN
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car#car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car#car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    END;

    If in the previous paragraph you had to use an first alternative option:
    Code:
    CREATE TRIGGER after_delete AFTER DELETE
    ON Flags
    BEGIN
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", (SELECT version FROM Packages WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", 230, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car_setup", 234, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    END;
    If in the previous paragraph the third option worked
    Code:
    CREATE TRIGGER after_delete AFTER DELETE
    ON Flags
    BEGIN
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", 240, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car#car", (SELECT version FROM ApplicationStates WHERE packageName="com.google.android.gms.car#car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 240, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", (SELECT version FROM ApplicationStates WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    END;
    If in the previous paragraph only the fourth option worked
    Code:
    CREATE TRIGGER after_delete AFTER DELETE
    ON Flags
    BEGIN
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", 240, 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    INSERT OR REPLACE INTO Flags (packageName, version, flagType, partitionId, user, name, stringVal, committed) VALUES ("com.google.android.gms.car", (SELECT version FROM ApplicationStates WHERE packageName="com.google.android.gms.car"), 0, 0, "", "app_white_list", "com.github.slashmax.aamirror",1);
    END;
    Note
    If, when creating a trigger, you see ERROR: trigger after_delete already exists, but you want to recreate it, execute
    Code:
     DROP TRIGGER after_delete;
    Then create anew
    Check your trigger to prevent messages "not working, go away". Just execute:
    Code:
     SELECT * FROM Flags WHERE name="app_white_list";
    You may see 6 or more added by you flags.
    Then, try to remove it!
    Code:
     DELETE FROM Flags WHERE name="app_white_list";
    And select again:
    Code:
     SELECT * FROM Flags WHERE name="app_white_list";
    Only if result not empty (maybe not equal 2 commands ago, but not empty), you do all correctly. Else not.

    If you raise the version of the car # car application, a temporary loss of AAMirror is possible (until a trigger is triggered, which determines the new version). To fix it quickly, repeat step 2. This fact should be taken into account.

    Hint: you can add any other AA-applications, separated by a comma, not only aamirror
    Example: "com.github.slashmax.aamirror,com.app.test"

    Important! If you see "sqlite3 not found" in the terminal as root, then sqlite3 has not been established for the root and you need to find a solution for your phone!
    Until you install it, nothing will work. If existing installers do not work (or work, but still sqlite3 not found), try to turn to the theme of the firmware specifically for your device.
    All I can offer is to try from root /system/xbin/sqlite3 or /system/bin/sqlite3 instead of just sqlite3.
    Still, perhaps it will help: i added the xbin folder to the system folder. The error is gone.

    For the future: https://forum.xda-developers.com/showpost.php?p=78347721&postcount=1313

    If you get black screen: https://forum.xda-developers.com/showpost.php?p=78548457&postcount=383
    14
    Hello,
    New version of AA Phenotype Patcher 0.8 is up.

    Changelog:
    - Added third and fourth options of @Jen94 SQLs (big thanks!)
    - Added 3 new apps to "top list" (AA Mirror Plus, Performance Monitor for VAG and AAuto Launcher)

    Download:
    https://github.com/Eselter/AA-Phenotype-Patcher/tree/master/app/release
    11
    On Xiaomi Mi8 with Magisk 18, AA Phenotype Patcher 0.6 I had to manually add exec permission on /data/user/0/pl.eselter.aaphenotypepatcher/sqlite3 otherwise it raise the following error:

    Code:
    --  Apps which will be added to whitelist: --
      - AA Mirror (com.github.slashmax.aamirror)
    
    
    -- Drop Triggers  --
     OutputStream:
      /data/user/0/pl.eselter.aaphenotypepatcher/sqlite3 /data/data/com.google.android.gms/databases/phenotype.db 'DROP TRIGGER after_delete;'
     ErrorStream:
      /system/bin/sh: <stdin>[1]: /data/user/0/pl.eselter.aaphenotypepatcher/sqlite3: can't execute: Permission denied
    
    --  DELETE old Flags  --
     OutputStream:
      /data/user/0/pl.eselter.aaphenotypepatcher/sqlite3 /data/data/com.google.android.gms/databases/phenotype.db 'DELETE FROM Flags WHERE name="app_white_list";'
     ErrorStream:
      /system/bin/sh: <stdin>[1]: /data/user/0/pl.eselter.aaphenotypepatcher/sqlite3: can't execute: Permission denied

    0.7 should fix this problem. In 0.6 I moved chmod instuction inside check if sqlite3 file exist and if exist but don't have required permissions you will see this error. It can also happend when file don't exist but you don't give su permission.