General Modding your Joying/FYT SC9853i unit without root

Search This thread

hide598

Senior Member
Jul 3, 2011
74
5
I went a step further and put a switch in that wire. My car has automatic headlights and i don't always want the screen to dim as it flicks on the headlights at dusk or dawn. My switch is set up that it only interrupts the wire but you could connect it in the way @surfer63 suggests and put a switch making it effectively a manual hardware switch for turning it on and off independant of your headlights.
I found the following adb shell command to force enable/disable dark mode. Could be useful for others who is looking the same. Disclaimer: I haven’t tried it yet.
Enable Dark Mode:
adb shell settings put secure ui_night_mode 2

Disable Dark Mode:
adb shell settings put secure ui_night_mode 1
 
  • Like
Reactions: forgivegod

surfer63

Senior Member
May 4, 2010
4,131
1,684
Zwolle
hvdwolf.github.io
I found the following adb shell command to force enable/disable dark mode. Could be useful for others who is looking the same. Disclaimer: I haven’t tried it yet.
Enable Dark Mode:
adb shell settings put secure ui_night_mode 2

Disable Dark Mode:
adb shell settings put secure ui_night_mode 1
This is not correct. This is the Android dark mode/theme. That is something else than the day/night mode from the FYT units. That has simply to do with the brightness of the screen.
Secondly: adb access is relatively hard to do on these units.
Thirdly: the dark mode/theme is available as of Android 10. These units are Android 8.1. That requires other apps to do that.
 

hide598

Senior Member
Jul 3, 2011
74
5
This is not correct. This is the Android dark mode/theme. That is something else than the day/night mode from the FYT units. That has simply to do with the brightness of the screen.
Secondly: adb access is relatively hard to do on these units.
Thirdly: the dark mode/theme is available as of Android 10. These units are Android 8.1. That requires other apps to do that.
My original attention is for 7862 (Android 10) to turn on night mode, so that the launcher Home Screen can stay with night mode theme. Because of the double posting and my post in 7862 thread is being removed so I have to post here.
 

yokala

Member
Oct 6, 2016
38
7
Google Pixel 5
Quick questions,

I have a UIS7862 unit rooted but I need to update the firmware and I'm considering not rooting it this time.
For now, I am rooted only for one reason, I need FYTstarter to re-enable accessibility services to various apps (I have a 11.6 unit tweaked to work only in portrait mode and I always use tasker to launch 2 apps at the same time in split screen).
From what I understand, If I add FYTstarter to the AllAppUpdate.bin (psw is 048a02243bb74474b25233bda3cd02f8 if anyone needs it) it will be a system app. But being a system app is it enaugh to make it work properly without root ?

I have another question. As I use the unit in portrait mode, the backup cam layout is super ugly and I would like to change that. I found the app 190000000_com.syu.us is reponsible for that and I found the BG image, the orange sport car image as well as the /!\ icon in the drawable folder. Unfortunately I found nothing for both of the texts, by any chances, do someone know how to remove them ?
I had a workaround for that, for a while I used an RCA to usb device where the USB is modified with a relay to simulate the plug and unplug of the device to the unit when the reverse trigger is applied. The Easycap app opens and closes when a video device is pluged or unpluged. most of the times it's working even better because it's an app and it support split screen but for whatever reason, sometimes, the unit just ignore all the USB devices attached to it, only a reboot fixes the issue, I'm hoping a firware update without root might fix that.
 

Attachments

  • backupcam.png
    backupcam.png
    381.9 KB · Views: 40
  • PXL_20210704_210815592.NIGHT.jpg
    PXL_20210704_210815592.NIGHT.jpg
    1.9 MB · Views: 40
Last edited:

surfer63

Senior Member
May 4, 2010
4,131
1,684
Zwolle
hvdwolf.github.io
From what I understand, If I add FYTstarter to the AllAppUpdate.bin (psw is 048a02243bb74474b25233bda3cd02f8 if anyone needs it) it will be a system app. But being a system app is it enaugh to make it work properly without root ?

I have another question. As I use the unit in portrait mode, the backup cam layout is super ugly and I would like to change that. I found the app 190000000_com.syu.us is reponsible for that and I found the BG image, the orange sport car image as well as the /!\ icon in the drawable folder. Unfortunately I found nothing for both of the texts, by any chances, do someone know how to remove them ?
No. Being a system app has nothing to do with getting root rights.

I assume you unzipped and rezipped the apk. In that case you don't get the proper resources. The application is "translated" in 6 languages although many strings are equal everywhere.
If you really want to do this you need apktool.
Decompile:
Code:
apktool d -s 190000000_com.syu.us.apk
which will create a folder 190000000_com.syu.us (-s means no source code, but it will decompile the resources)
Modify the strings in "res/values"
Recompile:
Code:
apktool b -c 190000000_com.syu.us
and find the recompiled version inside 190000000_com.syu.us\dist (-c means to use original manifest files)
 

yokala

Member
Oct 6, 2016
38
7
Google Pixel 5
No. Being a system app has nothing to do with getting root rights.

I assume you unzipped and rezipped the apk. In that case you don't get the proper resources. The application is "translated" in 6 languages although many strings are equal everywhere.
If you really want to do this you need apktool.
Decompile:
Code:
apktool d -s 190000000_com.syu.us.apk
which will create a folder 190000000_com.syu.us (-s means no source code, but it will decompile the resources)
Modify the strings in "res/values"
Recompile:
Code:
apktool b -c 190000000_com.syu.us
and find the recompiled version inside 190000000_com.syu.us\dist (-c means to use original manifest files)
Cool thanks !

So expect for rooting, there is no other way to prevent the unit to disable accessibility services ?
 

PieterD82

Member
Nov 11, 2020
27
4
Unfortunately I found nothing for both of the texts, by any chances, do someone know how to remove them ?

Decompile the apk per @surfer63's instructions (or use APK Editor Studio, my prefered way to edit apk's) And look in the 'res/values' folder for 'strings.xml'. On line 74 you will find the "Check the surrounding circumstances" text. If i am to understand your question correctly, and from looking at your pictures, i think you want to get rid of that. Just replace the text with a space.

So, replace what is on line 74 in strings.xml like so:

Turn

<string name="check_car_surround">Check the surrounding circumstances</string>

into


<string name="check_car_surround"> </string>


f7d48cdef7cc21728bb588776e055d6c.png


EDIT: On line 73 it says the same. You might also look in other folders for this 'strings.xml' file depending on what language you've set your device. If it's English, then the top 'values' folder should be the only one to edit it's strings.xml file in.
 
  • Like
Reactions: surfer63

PieterD82

Member
Nov 11, 2020
27
4
By the way @yokala, i see you have a 3D bird view camera. I have one of those on its way. Recent tracking info told me it is in my country so i'm expecting it any day now ;)
 

yokala

Member
Oct 6, 2016
38
7
Google Pixel 5
By the way @yokala, i see you have a 3D bird view camera. I have one of those on its way. Recent tracking info told me it is in my country so i'm expecting it any day now ;)
Thanks man, amazing advices !
Yes I have a birdview device, and to be honest it's just a quite expensive gadget in the end. It's a pain to install, the interaction is quite bad (you can see the remote near the gear shifter in my previous picture), the quality of the video is not great. For me at least, I think a good AHD fisheye rear only camera is more than enough.
But there is a lot of differents devices on Aliexpress, I hope yours will be better than mine ^^
 

PieterD82

Member
Nov 11, 2020
27
4
Thanks man, amazing advices !
Yes I have a birdview device, and to be honest it's just a quite expensive gadget in the end. It's a pain to install, the interaction is quite bad (you can see the remote near the gear shifter in my previous picture), the quality of the video is not great. For me at least, I think a good AHD fisheye rear only camera is more than enough.
But there is a lot of differents devices on Aliexpress, I hope yours will be better than mine ^^
Mine should also have that button, yes. I know it's a gadget. I'm just curious to have it.

Oh, by the way, the "Intelligent reversing safety system" text is on line 63 in the same strings.xml
 

PieterD82

Member
Nov 11, 2020
27
4
I just figured out that FYTStarter doesn't absolutely needs root to work properly with accessibility services, enable WRITE_SECURE_SETTINGS through abd is enough :)

Kind of beating myself now for not thinking about that. I have been looking for a way to (re-) enable accessibility services and i'm also running FYTStarter. thanks bud!
 

PieterD82

Member
Nov 11, 2020
27
4
Yes I have a birdview device, and to be honest it's just a quite expensive gadget in the end. It's a pain to install, the interaction is quite bad (you can see the remote near the gear shifter in my previous picture), the quality of the video is not great. For me at least, I think a good AHD fisheye rear only camera is more than enough.
But there is a lot of differents devices on Aliexpress, I hope yours will be better than mine ^^

So mine arrived. I've spend a couple of days installing it and i have to say i'm very happy with the results. I went for the more expensive 'Sony HD' cameras and that seems to be a good choice. The video quality is very good. I don't have any issues with the knob. I've installed it on the front of my (custom made) armrest and works just fine.

The only issue i seem to have with it is that i don't see a way to connect it to the canbus of the car. That connection is most likely to read the steering wheel position and draw track lines just like my first camera did, and the second issue seems to be when i connect the wire meant to connect to android devices the screen just goes black, unplugging it makes it work normal again. So as for now i have it connected to one of the RCA connections and trigger it manually. Looking through the device's settings shows me a set of protocol settings. I'm assuming those are for the canbus interaction but it could also be to how to interact with the head unit. Not sure about those. I will investigate and also contact the seller to learn more on that. Other than that, very happy with the new gadget.
 

thetangstr

Member
Mar 2, 2017
38
1
This is awesome. Thanks for the guide! Question:

I have a FYT no brand Android 8.1 unit. Zlink works for carplay but for some reason not android auto(wired). The seller had confirmed that it should work.

I managed to get the update package from the seller, using apkpack I unpacked the pkg file, how come I didn't see zlink app in the list? is it some sort of system app?

I tried installling zlink.apk using this method, the app icon showed but nothing happens when I click on it. Any ideas?
 

ciris

Member
Sep 13, 2009
42
15
Anyone able to change out the stock radio app for something better? I hate the layout! My old PX5 unit had a much better layout than what's presented here.
If so, what alternate radio app are you using? Any info is appreciated! 🙏🏾
 

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    See title: Only for SC9853i Joying/FYT 8.1 units.
    Due to some changes in the flashing process since the previous PX5 and Sofia 3GR models it is now partly possible to mod your unit without root.

    Some info to start with:
    (partly from 4pda, partly from a "hint" from @julien_blanche, mostly from own knowledge)

    Contents of a firmware zip:
    Code:
    6521_1.zip           # The zip that contains the boot.img; the system/vendor/oem partitions and a few other things.
    Allapp.pkg           # Special file that contains all FYT apps (actually a special XAR archive.)
    config.txt           # file comparible to the build.prop which can contain additional properties
    lsec6521update       # The binary that really does the update
    oem                  # Folder containing some additional apps
    Stm32ud.bin          # The MCU binary. It is not always in every firmware
    updatecfg.txt        # Contains instructions for the flashing process
    crruptoff            # Special file for "WiFi only". Not in the normal firmwares. Be careful!


    Some commands that can be put inside updatecfg.txt
    Code:
    twipe_all     # Wipe entire system
    twipe_data    # Will wipe data partition (but not /sdcard, internal memory). Wiping the /data partition will wipe all config, all 3rd party apps and updates of system apps. This is the same as a "reset to factory defaults"
    twipe_sd      # Will wipe internal memory /sdcard (but not the data partition)
    dellapp       # Remove all 3rd party apps
    make_updates  # Make an upgrade U-disk boot file
    test             # test unit and firmware before flash

    Some properties that can be put inside config.txt. Say you live in Brazil and you want your locale settings immediately on Brazil, you can add that, for example:
    Code:
    ro.product.locale = pt_BR

    The file crruptoff:
    If you have a unit with a 4G module, but you don't have 4G (or don't want to use it), you can use this file. Put one line in this crruptoff being "fixwifi" and save it to the sdcard/usb-stick you use for flashing.
    You can use it to get rid of the "No SIM" notification in your notification bar.
    Does not work anymore on the later firmwares. Chances are minimal but maybe it might work again "some day".

    The Allapp.pkg
    The Allapp.pkg file is a special XAR archive with a directory structure. You can use ApkPack.exe to create or extract it.
    Folder path: This is where your files are being extracted to, or packed from
    File path: This is the file that is being created (packed), or where the files are extracted from.
    All apks (*.apk) and all libraries (*.so) will be installed as system apks and libraries, which means you can't uninstall them, but on the SC9853i units they are installed under /oem and not under /system.
    Inside this Allapp.pkg you will also find two other files: fyt.prop and skipkillapp.prop.
    The fyt.prop is identical to the build.prop but gives the option to add extra properties or replace/modify properties in the build.prop.
    The skipkillapp.prop contains apps (package names) with values from -15 to 15.
    When going into "deep sleep" the packages not mentioned in this list will be killed. Applications in this list with positive values will absolutely be killed (unstable otherwise??). The ones with higher values first. The ones with values 1 and 0 as last, where the app with value 0 will be the last killed before going into deep sleep.
    The apps with negative values are considered system apps and will not be killed. In this case the most negative number (-15) has the highest priority. My assumption (not tested, not verified) is that negative numbers approaching 0 might be killed if the system needs the memory?
    So in other words: If you do not want that some of your apps are killed, you can add them to this "skipkillapp.prop" by their package name. Say you use @realzoulou's DAB-Z app, you would add a line for DAB-Z (com.zoulou.dab). Or for example if you are a Tasker user, which is normally killed as well:
    Code:
    com.zoulou.dab = -10
    net.dinglisch.android.taskerm = -10
    (I would suggest not using values like -15, -14, -13 to make sure you do not really interfere with the real system apps).
    And then you need to add this file to your own allapp.pkg

    The lsec_updatesh folder and lsec.sh script
    Practical applications:
    • Making patches, an alternative to creating the Allapp.pkg package.
    • Work on all folders in the unit (which Allapp.pkg cannot do).
    • Delete unnecessary files or applications (who uses the calculator app?), or overwite files like the fyt.prop or others.
    • Modify/overwrite config files that are otherwise not modifiable (like bluetooth config?)
    • Setting properties that normally require root/admin rights.
    • Creating backups of your partitions using the dd command. This can be handy on a device for which you do not have a firmware yet as backup.
    • Rooting your unit, also if you do not have a firmware from your supplier.
    • Make a Custom ROM by simply doing all kind of modifications after the "normal" firmware flash.

    See for more info about the "The lsec_updatesh folder and lsec.sh script" in post #228.

    Creating an Allapp.pkg and flash it to your device (post #2)
    Some pre-build flashable images (post #3)
    And if everything goes wrong and your unit ends up in a boot loop or doesn't get past the boot logo. (post #4)
    8
    Creating an Allapp.pkg and flash it to your device

    Use the (English) version of ApkPack.exe (english version attached) to unpack/repack an Allapp.pkg. (It also works with wine on Linux/MacOS)

    (See this youtube link for a really quick & dirty (and unsharp, sorry) video about what scrolls on your screen when flashing such a mini Allapp.pkg)

    (1) Quick example:
    • Create a folder Allapp
    • Copy some wanted apks or mods into the folder.
    • Use the ApkPack.exe to create the Allapp.pkg
    • Simply copy the "Allapp.pkg" and "lsec6521update" onto a clean FAT32 formatted SD-card or USB-stick.
    • Put the USB-stick into your unit and it will recognise the update and flash it to your unit.
    • Other options:
      • Copy the "Allapp.pkg", (optional) "updatecfg.txt", (optional) "config.txt" and "lsec6521update" onto a clean FAT32 formatted SD-card or USB-stick.
      • In my case having a 4G unit without using 4G and wanting to use Google Assistant for calls: Copy the Allapp.pkg, config.txt (see above), crruptoff (see above) and lsec6521update onto a clean FAT32 formatted USB-stick.
      • Note that when NOT using an updatecfg.txt, nothing will be wiped on your unit. Only added/replaced.

    (2) Another example:
    • Create folder Allapp on your pc/laptop
      • add (2019-08-14) main server mod with extended navi_app.txt and "BT to background" hacks. (see my github repo. Be careful to choose the one for your specific firmware date)
      • add BW-RDS radio mod (see my github repo. Only choose version for Android 8.1 if you want full functionality)
      • add oandbackup (dk.jens.backup_305.apk) (Free and open source backup restore apk)
      • add latest MagiskManager-v7.3.2.apk
    • Use apkpack.exe (attached) to create a new Allapp.pkg by selecting the folder to be packaged, the name of the file being Allapp.pkg, and select button "Packed" (sloppy translation from Chinese)
    • Copy created "Allapp.pkg" and "lsec6521update" onto a clean FAT32 formatted USB-stick.
    • Insert in your unit and the flashing process will start (Note: It will mention "Setting to factory defaults" before flash reboot, but it is really not doing that)
    • After the (very quick) flash and normal reboot, you will have 2 new apps and 2 modded apps.

    (3) Example for a FYT compatible SC9853i, like a Sinosmart or Zhan or "unnamed":
    You can also create your own Allapp.pkg, also with a modded Joying apk as the apks are actually identical, but there is one big naming issue to take into account!
    Even though the apks are identical having the same package name, they have different apk names. A normal install will check for the package name and replace the apk with that same package name, whatever its apk name (think of versions or build time stamps behind the the "normal" name). The flashing method simply looks at the apk name and will create an /oem/app/<apk_name>/<apk_name>.apk. In this case versions numbers of build timestamps will create again and again a new folder with the exact same apk and none will work.
    As an example for the radio app:
    • Joying: 190043001_com.syu.radio.apk
    • Sinosmart: 190042001_com.syu.radio.apk
    • "Some" unbranded: 190101001_com.syu.radio.apk
    Again: The apks are exactly the same but have a different name. If you simply flash one next to the other, both will not work anymore as both have the same internal package name being "com.syu.radio". So you have no radio at all.
    So, how to create an Allapp.pkg with a modded Joying apk for your FYT compatible SC9853i unit?
    • Check the name of your unit's radio app (or BT, Video, Music app). (If you don't know how you can use my HWGet_info.apk and open the resulting HWget_info.zip and look inside the "oem_listing.txt")
    • Find the name of the modded Joying app.
    • Rename the modded Joying app to the name of your app. So for example for Joying-> Sinosmart radio app: rename 190043001_com.syu.radio.apk to 190042001_com.syu.radio.apk (Joying to Sinosmart)
    • Create a folder Allapp
    • Copy the modded and now renamed Joying radio apk into the folder (repeat if relevant for other mods).
    • Use the ApkPack.exe to create the Allapp.pkg
    • Simply copy the "Allapp.pkg" and "lsec6521update" onto a clean FAT32 formatted SD-card or USB-stick.
    • Put the USB-stick into your unit and it will recognise the update and flash it to your unit.
    • Also create an Allap.pkg for your original app so you can always flash back the original app if you want (or need) to.
    7
    Some pre-build flashable images

    Only for real Joying SC9853i units. Other FYT compatibles are not supported.
    All SC9853i FYT models are actually the same, but boot images are mostly different and apks have different names. In the latter case you would have 2 identical apks with the same package name, but with a different apk name residing in different folders. Neither of them will work anymore as Android doesn't know which one is the correct one.

    The zips that can be found in this post can be directly unzipped to a clean, empty Fat32 formatted USB-stick or SD-card. You do not need to be rooted and you don't need my JET apk.
    When this USB-stick or SD-card is inserted into your unit, the unit will recognize it as a flashable firmware and start flashing the files to your unit.

    Notes:
    • These flashable firmware files will leave all your installed apps and settings as they are. Only the files in these Allapp.pkg files will be overwritten.
    • The zips containing boot images will only overwrite the boot image. All apps and settings remain as they are.
    • The "combi" zips are just combinations of possible mods and/or boot images. They behave the same as the previous two.
    • The zips that can be downloaded from this post are all on one of my github repositories. You can find it here: SC98531BinRepo.
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
    Boot images
    2019-11-28 | 20191128-rooted-boot-image (thanks to @rigattoni) | 20191128-normal-boot-image
    2019-09-17 | 20190917-rooted-boot-image | 20190917-normal-boot-image
    2019-08-14 | 20190814-rooted-boot-image (thanks to @julien_blanche)

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
    Main server apk mods (the 190000000_com.syu.ms.apk)
    The ORG version is the apk as delivered by Joying in their firmwares.
    The ORG_extended is the Joying one including an extended navi_app.txt, extended player_app.txt, extended navi_audio_from_playstatus.txt.
    The NoKill is the extended version where the normal functionality to kill all apps when going into "deep sleep" (turn of ignition), has been disabled.

    2020-04-07 | 2020-04-07-com_syu_ms-ORG | 2020-04-07-com_syu_ms-ORG_extended | 2020-04-07-com_syu_ms-nokill | ( Zips, modified smali files, modified assets text files, some info)
    2019-11-28 | 2019-11-28-com_syu_ms-ORG | 2019-11-28-com_syu_ms-ORG_extended | 2019-11-28-com_syu_ms-NoKill | ( Zips, modified smali files, modified assets text files, some info)
    2019-09-17 | 2019-09-17-com_syu_ms-ORG | 2019-09-17-com_syu_ms-ORG_extended | 2019-09-17-com_syu_ms-NoKill | ( Zips, modified smali files, modified assets text files, some info)
    2019-08-14 | 2019-08-14-com_syu_ms-ORG | 2019-08-14-com_syu_ms-ORG_extended | 2019-08-14-com_syu_ms-NoKill

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
    Other mods
    There are currently two mods for the radio: One very nice one from user @Soiski71 and one which I made.
    The ORG version in this case is the one delivered with the Joying firmwares.

    Radio | SC98531-Radio-ORG | SC98531-Radio-Mod (preview) | SC98531-Radio-Mod-Soiski71 (preview)

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
    Combinations
    These are combinations of above files which I found useful. Undoing them can be done by using one of the above ORG zips.
    2019-09-17 | 2019-09-17-radio_mainserver | 2019-09-17-rootedboot_radio_mainserver
    4
    If everything goes wrong and your unit gets in a boot loop or stops on boot logo

    - Download a fresh firmware from the Joying blog.
    - Unzip it to an SD-card/USB-stick (as normal)
    - Put the USB-stick/SD-card in your unit and "push" the Reset (RST) with a paperclip or something like that. When the boot logo appears, reset the unit again. Now the flashing process should start.
    4
    L
    Less praying more reading?