View Single Post
      06-04-2021, 04:08 AM   #704
Impastokitsch
Private
12
Rep
65
Posts

Drives: e93 M3
Join Date: Dec 2018
Location: Lion City

iTrader: (0)

Quote:
Originally Posted by RedErik View Post
Ok peeps, since we have a set of new tools to overlay the default launcher and redirect some of the shortcuts on our Android head unitu, I am moving theme related discussion from both Android 9 and Android 10 threads to this one.

If you want to chat with people you can also join the Automotive Android Headunit Discord channel.


Tools and guides



KswRedirect is a suite of apps to redirect default shortcuts. The following tiles can be redirected to any other: browser, dvr, file explorer, phonelink. More info here and all-in-on package can be found here.

KswOverlay for Android 8.1, 9 and 10. This tool lets you compile main launcher overlay themed to your liking, more info here. For details on how to create your own theme and compile overlay apk please check this video guide.

Overlay guide that helps to identify individual images and strings.

System overlay to get rid off the "Phone is starting..." message.

Splash image tool allows you to create your own boot image. How to guide can be found here.

BMW Accessories Configurator. If your car doesn't support ConnectedDrive and was built anytime between 2000-2010, you can use this tool to select your platform, paint job, wheels, details, interior etc and make your own graphics based on that.

Guide to create your own GUI

Video tutorial on how to create a custom boot animation and example files.

Video tutorial part 2 showing how to deal with other resolutions than 1240x480 and how to adjust source files resolution to match Android HU resolution.

Downsizing tutorial for boot animation.

UI problems caused by boot animation being too large.

Scrcpy for those of you how want to tinker with head unit on your desk, this is the app that allows you to display and control any Android device on your PC or Mac. For SD625 units it only works over WiFi but on older units it might work with USB A male to USB A male cable. A guide how to use it can be found here.


TL;DR

Here is what you need to install a theme:

1. A laptop or PC (Windows/Mac/Linux - doesn't matter). Your Android head unit and laptop/PC are on the same local network and can talk to each other.
2. KswOverlay project.
3. Java's JDK and JRE (linked in point 2).
4. A theme - if you decide to create a personalised car tile with your own car here are further requirements:
4a. Picture of your car.
4b. Photo editing tool like Photoshop or Gimp.

Now we have that sorted out, here is simplified procedure how to install:

1. Create your personalised "car tile"... or not.
2. Copy theme files to \KswOverlay-master\resources.
3. Compile your apk.
4. Make sure your laptop or PC are on the same network local as your Android HU.
5. Find out what is the IP address of Android unit.
6. Install overlay (script included).
7. Enable overlay with adb command.
8. You are done.

Once overlay is installed and running, you can always compile new apk with different graphics, copy it to a USB drive in simply install it on your Android unit - no need for laptop/PC again.

When new version of Android OS comes out and you decide to install it, then you have to repeat this procedure to upload and enable overlays (themes) again.

Understanding Android boot up sequence and preparing files for your animation:

Android boot up is split into two parts: first you would be presented with splash image – a static image that is shown before the animation starts. Then there is the animation itself.

Preparing splash.img file:
1. If you want to have smooth transition between splash image and boot animation you would typical use first frame (image) of your boot animation and convert it to splash.img. This is not necessary as you can you any image you want.
2. If you don’t want to use the first image of your boot animation, it is important that your splash image is the same resolution as your screen.
3. Use splash image tool to convert your image to splash.img

Understanding and preparing bootanmiation.zip file:
Here I won't cover how to actually make your own animation (this is explained in a video linked above) but rather explain how to prepare files for installation. Just remember that it doesn't matter if images are jpg or png, what matters is that the size of complete animation doesn't exceed 20MB.

1. Boot animation file consist of 2 elements: folder(s) ( part0 part1 … partn ) where images are contained and description file ( desc.txt ) telling Android how to play animation.
2. Each folder contains set of images that are being played out. A typical animation consists of 2 folders part0 and part1. In this case part0 would contain the main animation (set of images) and part1 only 1 images acting as a final step before booting sequence is complete.
3. For all of this to play out you need a description file. There are 2 elements to the description file: declaration of resolution and frame rate at which animation is to be played out, and information how to play each folder. Here is an example:

1920 720 25
c 1 0 part0
p 75 0 part1


1920 720 25 is declaration of screen width x height x fps
Then there is declaration of: type of playback , how many times , delay , path
- c stands for play in full
- p stands for play but once boot sequence is complete, interrupt (finish) playback
- first number stands for how many times this sequence is to be played
- second number is the delay between playback starts
- and finally last part is path of files to be played.

So taking apart this example we have the following:
Animation is 1920x720p at 25fps
Play in full part0 images only once (1) with 0 delay
Then play 75 times (assuming only 1 image is located the folder - 75 frames / 25 fps = 3 sec) part1 but stop it as soon as boot sequence is complete

4. Once all folders and desc.txt files are ready, use 7zip program to put your files in a zipped folder. It is important that you select compression level store, meaning files are contained in the zip file and not compressed at all.
5. Create OEM folder in the root of your USB stick.
6. Move bootanimation.zip and splash.img files to the OEM folder.
7. Plug in USB stick to your HU and wait for confirmation message.
8. Done.

Hope this is clear as mud now
Just a shoutout to RedErik

He did a fantastic job and $ well spent for his efforts
Appreciate 1
RedErik1023.50