Related
Hi all,
Renewable Energy, batteries and efficient electricity is somewhat of a hobby of mine, and Android is another. So, I have combined the two to bring you better battery life. I have achieved 0.0%/h battery drain on idle with my Motorola Moto G 2 XT1068, running AOSP 5.1.1 and I am writing this tutorial to show you how you can potentially do the same on your device, without a significant sacrifice in functionality to your device.
This tutorial can very easily adapted to suit any rooted Lollipop phone with Xposed installed, the only major differences would be in the ‘Amplify’ section and for this you can have a look at this and this for guidelines on wakelocks and alarms for other devices.
First of all, I would to say that following this tutorial does not guarantee you the exact same battery life that I have gained. There are SO many different variables that can effect your battery life including the device you are using, the ROM you have installed, the apps you run and the amount of time you use your screen. Two very useful apps for measuring battery usage are BetterBatteryStats and Wakelock Detector
You should stay away from the so called ‘battery saver’ apps that flood the play store. At best most of them will simply have no effect, at worst they will drain your battery even further. See this for more details.
This tutorial is not just for root users. If you have not achieved root on your device, you can still use the tips in 'basic ROM settings', much of the tasker section (Anything involving secure settings requires root) and some of the greenify features.
For this tutorial you will need 7 apps:
Tasker
Greenify
Amplify
Intelli3G
Secure Settings (Tasker Plugin)
MinMinGuard
Kernel Adiutor
If you are having trouble starting Amplify you may need SELinux Mode Changer set to permissive in order for it to work, although according to the developer, as of v3.0.5 you shouldn’t have any problems.
For all the apps except tasker you will need a rooted device, and you will need the Xposed Framework installed for Greenify, Amplify, Intelli3G & MinMinGuard.
Remember, the steps in this tutorial are just guidelines. If you find that particular parameters aren’t working for you, you can change them.
NB THIS THREAD IS NOT FOR Q&A ON THE SPECIFIC WORKINGS OF THESE APPS. IF YOU ARE HAVING TROUBLE WITH THE APPS THEMSELVES, PLEASE HEAD OVER TO THESE RELAVENT THREADS:
Tasker
Greenify
Amplify
Intelli3G
MinMinGuard
DISCLAIMER: I do not accept responsibility for any device or application failures resulting from the use of any of these apps
But before we go into the use of these apps, I'll go through some basic ROM settings and how they may effect your battery life
Basic ROM Settings
The biggest battery drain on devices are screen on time/brightness, WiFi/Data & GPS. Therefore, it makes most sense to get those basic settings right before you do anything else.
Screen/Display:
Screen brightness is the big killer of batteries. The more light that you send to the screen, the more power you need to use. Simple. On a similar principle, dark themes will use less power than light themes, that is why all the old android themes were black with white writing, to save on battery consumption. It is true that AMOLED screens have the most to gain in savings from using dark themes, but regular screens will also benefit.
There is an xposed module called 'Minimum Brightness' which will allow you to reduce the brightness on your phone to levels below that normally allowed by your ROM. This is very handy, especially if you, like I do, use your phone at night in bed (and don't want to wake your sleeping partner). It has the added bonus of saving battery power by sending less power to the screen. The module can be installed directly from the Xposed Installer. Don't forget to activate the module and reboot. Once you have it installed there won't be any additional app in the drawer, the module just uses the standard brightness slider and alters the applied values.
Believe it or not, but the phone’s auto rotate function can potentially use quite a lot of battery power. Having auto rotate enabled uses about 3-5% CPU power constantly. Contrary to popular belief (mostly bandied about by task killer app devs), high RAM usage has very little impact on battery life, rather it is CPU usage that is the real killer. Do your battery a favour and turn off the auto rotate unless you need it. I have a tasker profile set to only auto rotate my screen when maps is launched.
Turn off Auto Brightness. More often than not, auto brightness overcompensates for the amount of light that is in a room, turning up the brightness more than you actually need, plus it is another sensor that is always running and using up CPU. Set your screen to the lowest setting you feel comfortable with and only turn it up when you go outside.
Alteratively, if you can't live without auto brightness, use gravitybox to change the auto brightness settings to levels that suit you.
I am firmly in the habit of pressing the power button to turn off the screen when I put the phone down, but for those of you who are not, that is why we have screen timeouts. Set it to 2mins, or less if you are comfortable with that.
WiFi/Data/Sync:
By default, even when your WiFi is switched off, your phone scans for WiFi networks in the background. This understandably uses battery power that could be better used elsewhere. To switch off this feature, go to:
Settings > WiFi > Menu (3 dots in upper right corner) > Advanced > Scanning always available > Off
There is another option in this menu also: ‘Keep WiFi on during sleep’. This option doesn’t matter if you are following the Tasker part of this tutorial because later we will be creating a profile which will automatically override this option. If you are not following the Tasker Section however, you could check this box for extra battery savings.
Notifications are something we all take for granted as users of smartphones. But we don’t really need as many of them as we get. Have a think of all the notifications you get and see if you can live without any of them. Every app that is sending you notifications is another background process using up your battery power.
You can also turn off autosync and use tasker to control the phone sync settings instead (see tasker section below)
Settings > Accounts > Menu (3 dots in top right) > Auto Sync: Off
Background data uses up battery life and if you are on a limited data plan, turning off background data for unnecessary apps can help here too. Go to Settings > Mobile Data and select the apps you wish to restrict.
Location:
This is probably the simplest one. Turn it off. You don’t need it on all the time. Turn it on when needed, or create a Tasker profile that will turn it on for you when you launch certain apps.
Bluetooth:
While bluetooth is not quite the battery hog it was a few years ago, it still does use up battery life that could otherwise be saved. Turn it off or set up a tasker profile to intelligently handle the service.
Other Settings:
OK Google/Google Now - The always on microphone and the constant background data sync is a big battery drainer. If you are a user you should decide what is more important to you, better battery life or the convenience of the app.
Motorola Apps - They are also big battery drainers. If they are on your device and you don't use them, freeze them with an app like titanium backup.
Native Phone Battery Saver App - If you are following the rest of this tutorial, turn it off. You’ll no longer need it as you’ll be replacing everything it does with stuff that Tasker can do and it will just be yet another app running in the background that you don’t need.
Smart Unlock/Face Unlock - Yes its cool, but unnecessary. Front camera on to save your poor finger the trouble? What do you think that is doing to your battery life? Switch it off.
Window animations will also drain the battery, you can turn those off by going to Settings > Developer Options and turning off 'Window Animation Scale', 'Transition Animation Scale' and 'Animator Duration Scale'. I tend to leave them on because I like the look of them
Live Wallpaper - Possibly the most pointless thing I have seen on a smartphone. If you are reading this and have a live wallpaper, you should know better. Shame on you.
Vibrations - Turn them off too, every shake uses battery life.
---
Advanced ROM Settings
CPU Governor:
Another setting that will effect your battery life is the cpu governor that your ROM uses. You can check out what governor your ROM uses by downloading an app like Kernel Adiutor. Depending on the ROM and Kernel you are using, you will have different options for different governors. Take a look at this guide to help you choose the right governor for you.
CPU Frequency:
The speed that your cpu runs at also has a huge effect on the battery life of your device. I have left my maximum frequency at 1.19ghz, but reduced my minimum frequency from 787mhz down to 300mhz. This was, again, using Kernel Adiutor.
Multi core Power Saving: Enabled
*Notes: You must have root in order to change CPU settings and the Stock kernel has only very limited options to change CPU settings.
Hotplugging:
Intelli_plug is a total replacement for Qualcomm's proprietary mpdecsion.
it hotplugs/unplugs cpu cores based on load demand of the system.
mpdecision is a closed source proprietary solution from Qualcomm and it's not very efficient at hotplugging/unpluggng cpu cores leading to hotter cpu and poorer battery. Intelliplug is a complete OPEN Source solution to mpdecision and it is done in kernel instead of userspace (which it has to poll the kernel in order to make its decisions therefore inherently slower than in kernel solution like intelliplug).
MPDecision: Off
Intelliplug: On
Profile: Conservative
Touch Boost: Off
Hysteresis Value: 8
Threshold Value: 350
Set Maximum Screen Off Freq: 600mhz
GPU:
Max Freq: 450mhz
Governor: simple_ondemand*
Simple GPU Algorithm: enabled
Laziness: 5
Ramp: 4
*Similar to CPU governors, the options may be different for you depending on your ROM/kernel
Other Tips:
The standard Facebook app uses a lot of battery, and has many privacy issues. There is another app called 'Tinfoil for Facebook' that is an amazing alternative, and uses absolutely no battery when its not being used. Only catch is, there's no facility for push notifications. Which is fine by me. I always have them off anyway.
---
OK, now that we have all that covered, lets move on!
Tasker
I shall go through battery saving techniques using Tasker first, because it is a straightforward install via the Play store and does not require the Xposed Framework. For this section of the guide all steps are the same whether you are running KItKat or Lollpop.
Tasker is an awesome app and hugely useful for many things within android. The basic principle is that it will automate many tasks for you based around parameters that you set, such as time, phone state, applications launched etc.
Once you have Tasker installed, you should head back to the play store and install ‘Secure Settings’, which is an extra plugin and adds even more functionality to Tasker. Then you need to head to Settings > Security > Device Administrators and ensure the Tasker box is checked.
Now you can open the Tasker app and you shall see this screen:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
For the purposes of this tutorial we shall just be using the ‘Profiles’ and ‘Tasks’ tabs. The Task is what you want to happen, and the Profile is when you want it to happen.
We shall start by creating a task to set the phone to go automatically into airplane mode at night. This is a great battery saver if, like me, you don’t turn off your phone at night. I shall go through this task in detail so you get a feel for the UI. Then I’ll type the same tutorial out in shorthand. All the rest of the profiles will be done in this way.
Airplane Mode At Night:
1In the profiles tab, hit + at the bottom of the screen.
2Enter new profile name. I called this one ‘Airplane Mode At Night’ *
* If Tasker does not automatically ask you to name your profile directly after hitting '+', on the profiles screen, hit the menu button (3 dots in top right) and select Preferences > Main Screen > Check the box that says 'Ask for new profile name'. That will fix it so that the order in this tutorial is correct.
3Select ‘Time’
4Choose the time you wish airplane mode to start in the ‘from’ section, and choose the time you wish airplane mode to finish in the ‘to’ section. Leave the ‘repeat’ checkbox blank.
5To save, you must press the Tasker icon in the top left of the screen. This will bring you back to the main screen with a popup menu.
6Select ‘New Task’ and call the task ‘Airplane Mode On’
7This will bring you to another new screen, once again, click the + at the bottom of the screen.
8A new menu will pop up, ‘Select Action Category’. Go ahead and press ‘Plugin’ > ‘Secure Settings’.
9 You will now be in the ‘Action Edit’ Screen. This allows you to set parameters for this particular Action. Click the Pencil icon beside ‘Configuration’. This will open up the secure settings screen.
10Under ‘Root Actions’ Click ‘Airplane Mode’ and select ‘On’. Then save. You will automatically be taken back to the ‘Action Edit’ screen. Save this task as you did before, by clicking the Tasker icon on the top left of the screen.
11Now, you are almost done. But first, you need to create an exit task for the profile. That way Tasker knows to revert back to normal mode at the exit time.
12Under the Profiles Tab find your profile and click it once to expand it out. Long press on the ‘Airplane Mode On’ task and then choose ‘Add Exit Task’. Call your exit task ‘Airplane Mode Off’
13Now you are going to go through steps 7 to 10 again, but instead of selecting Airplane Mode ‘on’, you are going to select ‘off’. When you are finished, save your exit task. That’s it! You have created your first Tasker Profile. You can toggle this profile on/off from the profiles tab, so if there’s a particular night you might be expecting a call you can turn it off.
Shorthand:
Profile: Airplane Mode Off At Night
Time: 0000 to 0800
Task:Airplane Mode On:
A1 (Action 1): Plugin > Secure Settings > Root Actions > Airplane Mode > On
Exit:Airplane Mode Off:
A1: Plugin > Secure Settings > Root Actions > Airplane Mode > Off
Click to expand...
Click to collapse
WiFi Off At Night:
Now for the next Battery Saver Tasker Profile, WiFi Off At Night. Before Tasker I often would forget to turn off my WiFi before I went to sleep, and if I was somewhere without my charger this could be a real battery drain for me overnight.
Profile:WiFi Off At Night
Time: 0000 to 0800
Application: (Invert) Moon Reader, Yatse
Task:WiFi Off:
A1: Net > WiFi > Set: Off
Exit:WiFi On:
A1: Net > WiFi > Set: On
Click to expand...
Click to collapse
On that profile I added an extra qualifier, to do this create ‘Time’ first and save it. Then create your task, the same as you did on the previous tutorial. Once your task is created and saved, you can go back and long press on time in the profile and click ‘Add’. It is inverted because I am telling Tasker that as long as the time is between 0000 and 0800 and these applications are NOT running, it is ok to turn off the WiFi. You can configure these apps whatever way you like, this is just what suits me, because I might often be using my phone as an XBMC remote after midnight and I need my WiFi connection for that. Alternatively I might be reading, in which case Moon Reader syncs my page position to Google Drive so all my devices have the same location for whatever book I am reading.
Screen Off With Periodic Data/WiFi:
This profile saves a lot of battery by only having data, WiFi and sync switched on when you need it, i.e. When the screen is on. If the screen is off it will automatically turn off connectivity, but will still periodically re-enable it for background notifications such as email and Viber etc.
This is quite a complicated one to roll into one single profile, so, to make it easier I have split it into five separate profiles. Other people may suggest other ways of doing this, feel free to do so. (If a better way is suggested that is just as easy for noobs I’ll change this post to include it and give the poster credit).
Profile 1: Screen Unlocked/Data On
Event > Display > Display Unlocked
Time: 0801 to 2359
Taskata On:
A1: Plugin > Secure Settings > Actions > Run Command > 'svc data enable' (Root: Yes)
---
Profile 2:Screen Unlocked/WiFi On
Event > Display > Display Unlocked
Time: 0801 to 2359
Task:WiFi On*
---
Profile 3:Screen Off/Data Off
State > Display > Display State > Is: Off
Time: 0801 to 2359
Taskata On:
A1: Plugin > Secure Settings > Actions > Run Command > 'svc data disable' (Root: Yes)
---
Profile 4:Screen Off/WiFi Off
State > Display > Display State > Is: Off
Time: 0801 to 2359
Task:WiFi Off*
---
Profile: Ping Net On
State > Display > Display State > Is: Off
Time: 0801 to 2359 & REPEAT EVERY 29mins**
Task: Ping Net On
A1: Net > Auto Sync > On
A2: Net > WiFi > Set: On
A3: Task > Wait > 30 Seconds
A4: Net > WiFi > Set: Off
A5: Plugin > Secure Settings > Actions > Run Command > 'svc data enable' (Root: Yes)
A6: Task > Wait > 30 Seconds
A7: Plugin > Secure Settings > Actions > Run Command > 'svc data disable' (Root: Yes)
A8: Net > Auto Sync > Off
Click to expand...
Click to collapse
This last profile has many actions in it. You can test out more complicated profiles by pressing the play button in the bottom left of the screen. I have set this up so that it will turn on WiFi first and sync my notifications (Viber, Email etc) for 30 seconds, then if I am out and about and there is no WiFi it will also turn on mobile data for 30 seconds.
* Use the same task that you created earlier to save on doubling up on tasks
** You can set this to repeat however often you like, but bear in mind that the shorter the repeat interval, the less effective it will be at saving battery life.
For other Tasker tutorials and profile ideas, please see these links:
HollywoodFrodo Tasker Tutorial Series
Pocketables Tasker Tutorials
TechSplurge 15+ Awesome Tasker Profiles
Greenify
Greenify is a very useful app and a great battery saver. Basically what it does is hibernate any apps you are not using, while still maintaining full functionality of your device. What is the difference between this and other task killers you might ask? Well, lifehacker describes this perfectly:
It's important to note that Greenify is not a task killer (which you shouldn't use anyway), and it doesn't "freeze" apps. The apps that Greenify hibernates are still usable if you want to switch to them, and you can still pass data to them as though they were running. When you switch back to them, it's like you never left. Greenify just keeps those apps from launching new background processes (a problem with task killers) and you don't have to unfreeze or thaw an app to use it when you want to (a problem with "frozen apps").
Click to expand...
Click to collapse
To get full functionality of the Greenify app you will need to have the newest version 2.6.1 (at time of writing) from the play store, with donation package installed as well as the Xposed framework installed. Once you install the app from the play store don’t forget to enable it in Xposed and reboot before you try to use it. You can use this app without Xposed and the Donation Package, but you will only have very limited functionality.
Once you have the app open for the first time you should click the three dots on the upper right corner and select Experimental Features. Go ahead and click all of the checkboxes in here.
Now you want to leave the app and in your app drawer select Settings > Apps > Running. Note the apps that are using the most RAM on your device.
The trick with Greenify is NOT to ‘Greenify’ any apps that you want to receive notifications for, like Viber etc. (As of the latest release you can check a box in ‘Experimental Features’ which will allow phone calls and SMS/MMS messages through, so it is now safe to Greenify the Dialler and Messager apps)
To Greenify your apps, simply click on the + in the top right of the screen. This will open the ‘App Analyzer’ Click the 3 dots at the top right again and select ‘show all’, then go to the bottom of the page and click ‘Show more apps’. You now have a full list of all the applications and processes on the system. You can multi select apps in this app, simply work your way down the list clicking the apps you want to Greenify. The apps I have Greenified on my device are as follows, yours will obviously be different. I do not have gapps installed on my device and avoid Google apps and services as much as I can:
Download Manager
Google Play Store
SuperSU
ES File Explorer
Ivona TTS
WhatsApp*
Maps.Me
Textra SMS
Yahoo Weather
Wunderlist
Dialler
Tapatalk
Sim Toolkit
Click to expand...
Click to collapse
*WhatsApp is safe to greenify, and you'll still receive messages when your phone syncs according to your tasker settings, but Viber cannot be greeified as you will not receive messages when the app is in hibernation.
I could have Greenified the Motorola Services that are packaged as system apps too, but I have no need as I have used Titanium Backup to freeze them. If you do not need Facebook/G+/Twitter notifications you could Greenify these too. I haven’t got them on my list because I don’t have Twitter/FB/G+ accounts!
You can also create a tasker profile to automatically greenify apps when you switch the screen off and/or at certain time intervals if you prefer.
Profile: Screen off/Hibernate apps
State: Display > Screen Off
Task: Hibernate Apps:
A1: Plugin > Greenify > Hibernate Now > Configuration > All Greenified Apps
Click to expand...
Click to collapse
For more info on Greenify you can see this link
Amplify
Amplify is an amazing app. It controls how often apps and services can wake up your device and how long they will stay awake for. You will need the Xposed Framework installed and if you are on Lollipop and having any trouble you will need SELinux Mode Changer set to Permissive in order for it to work, although according to the developer, as of v3.0.5 you shouldn’t have any problems. You may also need to do a soft reboot from within the Xposed Installer if Amplify does not start.
Once again, to unleash full control of this app, you must donate to the developer. The donate buttons can be found at the bottom of the homescreen. Once you have donated, reboot your phone and you will be able to configure all of your alarms and wakelocks. There is a list of safe wakelocks, alarms and recommended times available on this database that is regularly maintained here
To configure your individual wakelocks and alarms, click the Amplify icon in the top left of the screen.
Select Wakelocks and you will get a full list of all wakelocks that are currently on your device. Click an individual wakelock to configure it:
My setup for my Moto G XT1068 is as follows:
(The numbers here refer to how many seconds interval amplify allows the process to perform a wakelock, not the amount of wakelocks)
Wakelocks:
LocationManagerService - (2400)
Network Stats - (2400)
CheckinService - (2400)
GpsLocationProvider - (600)
Wakeful StateMachine:GeofencerStateMachine - (600)
GCoreFlp - (2400)
SyncLoopWakelock - (600)
Icing - (900)
StartingAlertService - (240)
*net_scheduler* - (2400)
UlrDispatchingService - (240)
Fingerprint_scanner_static - (240)
Fingerprint_scanner_local - (240)
NlpWakelock - (7200)
CdmalnboundSmsHandler - (240)
LocationService - (600)
Config Service Fetch - (600)
SystemUpdateService - (9999)
Alarms:
Com.android.internal.telephony.data-stall - (600)
com.android.server.WifiManager.action.START_SCAN - (300)
com.google.android.intent.action.GCM_RECONNECT - (240)
com.google.android.gms.nlp.ALARM_WAKEUP_ACTIVITY_DETECTION - (600)
android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED - (600)
com.google.android.gms./com.google.android.location.internal.AnalyticsSampler - (1200)
Click to expand...
Click to collapse
Please note, I haven't got gapps installed on my phone so there are several other wakelocks and alarms that are safe to modify on our devices that are gapps related. Please see this post by @matzeko for extra Moto G 2014 wakelocks and alarms that you can use on your device.
WARNING: Modifying Wakelocks and Alarms can potentially cause apps to stop working and in some cases your device may even fail to boot. In such an instance you will need to disable the module at boot. To do this you have to repeatedly tap one of the hardware buttons (Power, Volume, or Home) on your device during startup. During boot, your device will vibrate twice when it detects the first key press. You'll then have five seconds to press that same button four more times, with each keystroke producing a short single vibration. After ending with a long vibration, your device will disable and prevent most of Xposed's actions, allowing you to go back to Amplify settings and fix whatever it was that you broke.
For more information on Amplify , and for detailed questions about the running of the app, please head over to the Original Amplify Thread
Intelli3G
Intelli3G was designed to save battery by intelligently switching your phone between 2G and 3G depending on the parameters that you set. 2G is a far less power hungry network type (You may have seen the difference in battery life in manufacturers specifications between 3G and 2G talktime). It will not change the network type if you are in the middle of a call. (If it did your call would drop). You can install Intelli3G via the play store, just remember to activate the module and reboot after installation.
FIRST ENSURE THAT YOUR CARRIER SUPPORTS 2G NETWORKS
Play around with the settings for yourself and see what way you like it to be set up.
I have mine set up as follows:
- Toggle to ‘Slow Network’
- Power Saving Network Mode: (GSM only)
- Fast Network Mode: (WCDMA Preferred)
- Service - (On)
- Power Saving Network Options:
- Screen Off - (Yes)
- Delay - (0)
- Don’t Interrupt Downloads - (No)
- Don’t Switch On Good Network - (No)
- WiFi Connected - (Yes)
- Data Disabled - (Yes)
- Fast Network Options:
- Screen On - (No)
- Screen Unlock - (No)
- App Launch - (Yes)
- Select any apps that need a faster connection (IM apps generally don’t, unless you also use them for VOIP)
- Charger Connected - (Yes)
- WiFi Disconnected - (No)
- Data Enabled - (No)
Click to expand...
Click to collapse
So basically, the only time the 3G network is being used is when I have no WiFi access, the screen is on, and particular apps (for me it is Opera Browser, Flipboard, VOIP calling, Play Store, K9 Mail) are open. At all other times the phone is using the 2G network and saving a LOT of battery life. If there are other apps that you use that you need a faster Internet speed for, you should add these to your list too.
---
MinMinGuard
I'm tagging this section on to the end because I have no more reserved posts
I have added an ad blocker to this tutorial because of an article I read in Forbes:
"Apps powered by advertisements can eat up as much as 33% more energy than those without while draining significant amounts of a phone’s central processing unit and network data, according to a new study from the University of Southern California and Rochester Institute of Technology. The drain from the ads also contributes to higher costs for phone users with limited data plans, as well as key drops in average app rating scores for developers."
MinMinGuard is the best Ad Blocker that I have come across BY FAR, you just have to remember to manually configure the settings for any new app you install. It couldn't be easier, install MinMinGuard via the Xposed Installer, reboot the phone, then from within the select the apps that you want MinMinGuard to monitor and block ads on. And it just works. There is no grey empty space where the ad should have been, MinMinGuard compensates for this (see the original app thread linked in the OP).
---
So, there is my tutorial for achieving maximum battery life out of your device, WITHOUT using any of the useless 'battery saving task killer' apps from the play store.
good thread
Good Thread, I will test later. but I have no root.
But I have a doubt: Google Now consumes a lot of battery? The microphone is on the whole day, I believe that it costs a lot of battery.
Anyone have test disable it?
A well written and excellent guide for battery-saving. Knew many facts mentioned above but learned a lot more too. Thank you!
DroidBr said:
Good Thread, I will test later. but I have no root.
But I have a doubt: Google Now consumes a lot of battery? The microphone is on the whole day, I believe that it costs a lot of battery.
Anyone have test disable it?
Click to expand...
Click to collapse
Google now probably would consume quite a bit of battery. I don't use it myself, and don't have gapps flashed on my device, just the playstore, so I don't have any way of testing. To be honest the idea of google potentially being able to listen in on everything I say terrifies me If you wanted to check how much battery it would use BetterBatteryStats would give you an accurate percentage. However, all of the above methods will still improve your battery life even if you did have google now enabled
Imperious Rooster said:
A well written and excellent guide for battery-saving. Knew many facts mentioned above but learned a lot more too. Thank you!
Click to expand...
Click to collapse
Thank you
Mod please sticky this excellent guide! You deserve more thanks!
Sent from my Motorola Titan
Thanks for your guide, will try it later.
As I have already experimented with amplify, I have some questions:
- Do you get push messages, e.g whatsapp, in realtime to your device while in deepsleep?
- Does a-gps still work for you or does it take a long time until you get a gps fix?
matzeko said:
Thanks for your guide, will try it later.
As I have already experimented with amplify, I have some questions:
- Do you get push messages, e.g whatsapp, in realtime to your device while in deepsleep?
- Does a-gps still work for you or does it take a long time until you get a gps fix?
Click to expand...
Click to collapse
Because of my tasker settings (as described in the OP) I have my phone set to background sync every half hour, so because of this I get Whatsapp/Viber messages on the half hour (unless my screen is unlocked, in which case I'll get them in real-time). As stated in the OP, if this sync interval doesn't suit you, you can shorten it, but it will effect your battery savings
When I open an app that needs GPS fix, like Maps or Zombies Run I get a GPS fix usually within 4-5 seconds. (I also have a tasker profile to turn on GPS whenever either of these apps turn on)
Thanks for this brilliant guide, agreed it should be made a sticky.
(Slightly off-topic, but for anyone who doesn't have Tasker and now wants to buy it you can get it for free. Pay for it with PayPal before the end of March and you will get the cost refunded. May be UK only, see PP for details)
Duck86 said:
My setup for my Moto G XT1068 is as follows:
[/URL]
Click to expand...
Click to collapse
Changing RILJ doesnt broke anything? I mean, if it has so many wakes, maybe its important to be always on. Could you explain it?
laureano97 said:
Changing RILJ doesnt broke anything? I mean, if it has so many wakes, maybe its important to be always on. Could you explain it?
Click to expand...
Click to collapse
Everything is working fine. RILJ actually has over 9000 wakelocks on my system, it is high because I have blocked Dialler Location permissions in AppOps. It cannot get a lock on my location, hence the higher wakelocks. Amplify is helping to keep it in check. The number after each wakelock in the OP referrs to the number of seconds interval I have set for Amplify to allow the process, not how many wakelocks there are.
Hi guys,
I have added another section to the tutorial. This part is about basic ROM settings and how they effect your battery life. You can see it in post #2 Screenshots will follow
Duck86 said:
Hi guys,
I have added another section to the tutorial. This part is about basic ROM settings and how they effect your battery life. You can see it in post #2 Screenshots will follow
Click to expand...
Click to collapse
Those tutorials are amazing man! Just one thing about this new post: Lollipop stock battery saver turns off animations. Thats helps saving battery right?
laureano97 said:
Those tutorials are amazing man! Just one thing about this new post: Lollipop stock battery saver turns off animations. Thats helps saving battery right?
Click to expand...
Click to collapse
Yes, it does, but you can also do that manually in Developer Options by turning off 'Window Animation Scale', 'Transition Animation Scale' and 'Animator Duration Scale'. I had forgotten about that because I like to keep the animations on.
EDIT: Added to OP
The highlight of this thread is the way he explained Tasker and Secure Settings profiles.Most of them around here are confused with it.
And btw thank you for such a good guide
Tapped from my furious ZR
been messing around for 1 hour, finally finished everything, rebooted my phone, bootloop. gg
this is when life makes me happy
I've seen a few posts about over-sensitive auto rotate and experienced the same myself. After a bit of digging I found this post on reddit. It's seems a bit out of date for the current version of Tasker but you should make it past the differences just fine. This method was not created by me and I take no credit or responsibility:
Originally posted by kindall on Reddit:
Requires:
Tasker (of course)
A ROM that lets you choose what orientations your phone's display can auto-rotate into. I use Carbon, where this is under Settings > Display > Rotation. In other ROMs it may be in a different place. If you have a stock ROM you may or may not have such a feature at all.
Steps:
1) Go into your phone's orientation settings and TURN OFF everything but 90 degrees. Don't worry, the phone will still display in portrait mode; you just have to turn automatic rotation off! In fact, that's how this trick works: we'll use Tasker to turn auto-rotate on and off as a way to force the phone to be in either portrait or landscape.
2) At the bottom of Tasker > Preferences > Monitor, make sure Orientation State Accuracy is set to High. BTW, if you don't see these settings, make sure Beginner Mode (in the UI tab of the Tasker prefs) is not set.
3) Now create a profile: Name: Landscape; Contexts: [State: Display On; State: Orientation Left Side]. Create a new Enter task containing one action: Display Rotation On.
4) Create a second profile: Name: Portrait; Contexts: [State: Display On; State: Orientation Standing Up]. Create a new Enter task containing one action: Display Rotation Off.
5) Set the Restore Settings checkbox in both of these profiles to Off. (Long-press the profile name, then click the settings icon in the toolbar at the top of the screen.) Otherwise Tasker will switch the setting back as soon as the phone is no longer in the exact position needed to activate the profile, which will defeat the purpose.
Optionally:
6) add a profile that turns Display Rotation Off at startup, and perhaps another one that turns Display Rotation Off when the display is turned off, if you want to force portrait mode at either of these occasions.
Now your phone won't auto-rotate into landscape until you hold it pretty much exactly in landscape orientation, and won't rotate back until you hold it pretty much exactly in portrait orientation. You can control the required accuracy using the Orientation State Accuracy setting in Tasker, mentioned in step 2.
If you want to, you can add a third profile for rotating to the other landscape mode, and activate 270 degrees in your ROM's display rotation preferences. While the phone will freely rotate the display between these orientations when auto-rotation is on, it should be difficult to switch accidentally since they are physically so far apart.
**EDIT - THIS IS NO LONGER REQUIRED AS OF .025, ISSUE HAS BEEN RESOLVED VIA GOOGLE UPDATE**
Hey Guys,
I know a lot of you (myself included) are experiencing the NFC clicking issue on your Pixel 2's.
I wanted to show you a workaround, which will automatically disable NFC during a call, and re-enable it when the call ends. This is a temporary fix which you can use until the following promise is fulfilled...:
"Hey All,
We are validating a software update to address faint clicking sounds on some Pixel 2 devices. The update will be made available in the coming weeks. The clicking noise being reported does not affect the performance of your device but if you find it bothersome you can temporarily turn off NFC in Settings > Connected devices > NFC. "
Posted by Orrin - Community Manager, Found on:
https://productforums.google.com/fo...-place=topicsearchin/phone-by-google/clicking
This workaround uses the Macrodroid application. It requires root (Not yet available as far as I am aware) or an ADB Hack (What I used) for this to work.
You can grant Macrodroid "System" access by performing the following (ADB Hack):
https://www.tapatalk.com/groups/mac...23&p=10455&hilit=WRITE_SECURE_SETTINGS#p10455
This will allow Macrodroid to enable and disable NFC WITHOUT root.
Once access has been granted create the following macros:
Macro #1:
Name: NFC Off
Triggers: Call Active (Any Contact, Any Number, Non Contact, Unknown Caller)
Actions: NFC Off
Macro #2:
Name: NFC On
Triggers: Call Ended (Any Contact, Any Number, Non Contact, Unknown Caller)
Action: NFC On
You can disable the persistent notification icon by opening Macrodroid, going to settings > Notification Bar Options > Force Hide Icon.
This has been working great for me, and I know it looks like a lot of work but its a great alternative to manually toggling NFC off and on.
Macrodroid is also super useful in general so, enjoy!
Thanks for this. Very good idea until we get a fix from Google.
I too saw the MacroDroid page you refer to and was just going to post here about it - but saw you'd beaten me to it by several days! It works really well!
I also use Macrodroid to put my phone into silent mode overnight when it's charging AND connected to my home wifi AND it's after 9pm. Disconnecting the power reverts it to normal mode. I love MacroDroid - it's much easier to understand if you're not a programmer than any of its competitors like Tasker.
Note that this post is being updated with new information as we figure things out.
This jailbreak should allow you to use the console like a normal Android tablet, install and run any software on it from the Play Store and sideload software as well as run the JRNY app. It does not root the device. We have tested it on Bowflex Velocore, but assume that it will most likely work on other new Bowflex products with an Android tablet that are locked into JRNY. While we believe things are working in general, it has not been extensively tested. We are releasing it early in hopes to get more people interested in improving it.
Follow these instructions at your own risk. Read through all of the instructions before deciding to follow through. Making modification to your device may cause it to stop working. It may also void your warranty.
The instructions were written after we had already jailbroken our bikes, so we didn't really have a way to test that they work exactly as documented on a locked bike. Some experimentation may be needed. Good luck!
Step 1: Reboot.
Step 2: On the Bowflex screen showing the serial number, rapidly tap on upper right corner until a menu appears.
Step 3: Select 'Manufacturing App'.
Step 4: Long press the home button at the back of the screen and wait for Google Assistant to pop up.
Step 5: Type 'settings' to Google assistant and hit enter.
Step 6: In settings, enable ADB debugging from: System - Developer Settings - USB debugging.
Step 7: Look up your ip address from Network settings.
Step 8: Using adb (from Android platform tools) on your Desktop (which needs to be connected to the same network as your Velocore):
adb connect <replace-with-velocore-ip-address-from-step-7>adb shelltouch /sdcard/Pictures/nautilusam stopservice com.nautilus.nautiluslauncher/com.nautilus.nautiluslauncher.thirdparty.appmonitor.AppMonitorServicesettings put secure ntls_launcher_preference 0settings put secure navigationbar_switch 1settings put secure notification_switch 1settings put secure statusbar_switch 1settings put global ota_disable_automatic_update 1Step 9: In settings - apps, force-stop NautilusLauncher.
Step 10: In settings - apps, set Quickstep as the default home app. Otherwise NautilusLauncher will take over when you press the home button and undo the jailbreak.
At this point, a reboot should take you to the Android home screen instead of JRNY. For JRNY to be able to connect to the bike, some of the services in NautilusLauncher need to be running. Unfortunately, starting NautilusLauncher will undo the jailbreak. To get around that, use the following to automatically start NautilusLauncher at startup and perform a jailbreak:
Step 11: Install Tasker (costs $3.50)
Step 12: In Tasker, create a new Profile 'Event - System - Device Boot'. Add the following tasks to the profile:
Task 1: App - Launch App - NautilusLauncher
Task 2: Task - Wait, configuration: 30 seconds
Task 3: Code - ADB Wifi, configuration:
Command:
until appMonitor=$(dumpsys activity services AppMonitorService | grep "(nothing)"); do am stopservice com.nautilus.nautiluslauncher/com.nautilus.nautiluslauncher.thirdparty.appmonitor.AppMonitorService; sleep 1; done;settings put secure ntls_launcher_preference 0;settings put secure navigationbar_switch 1;settings put secure notification_switch 1;settings put secure statusbar_switch 1;settings put global ota_disable_automatic_update 1;settings put system screen_brightness 255;
At this point one more problem remains. JRNY app has its own screen saver which turns the screen off after five minutes of inactivity. If you have some other app at the foreground, you'll soon notice that your screen turns black and you seemingly can only get forwards by rebooting. To solve this:
Step 13: In Tasker, create a new Profile 'Event - System - Device Boot'. Add the following tasks to the profile:
Task 1: Task - Wait, configuration: 50 ms
Task 2: Display - Display Brightness: 255
Task 3: Task - Goto, configuration: 1
At this point, a reboot takes you to the Android home screen. After a few seconds, Tasker will launch NautilusLauncher and you will be taken to JRNY. Once the tasker wait has finished, a jailbreak is done. Then, you can swipe off JRNY and NautilusLauncher and should be fully jailbroken.
Note that Bowflex pushes software updates to the bike automatically. It's possible that future updates will stop this jailbreak from working. To try to prevent this, we have uninstalled the nautilus_ota_client app as well as set the 'ota_disable_automatic_update' setting above. We haven't confirmed that these are effective to preventing updates. If you decide to uninstall the app and use the setting, consider the following:
You may not receive new updates to the software of the bike anymore.
In case you later decide that you want to get updates again, make sure to backup the apk before uninstalling!.
----------
Troubleshooting:
If your console takes a long time to boot, the jailbreak may try to execute too early. Try to increase the wait time.
Sometimes the launcher seems to restart itself before the jailbreak is completed. You might still get jailbroken on the second start, but if not, just reboot and try again.
Sometimes when escaping JRNY after the jailbreak, the background might show the Bowflex image. Not sure if it actually effects anything, but just in case, you can just reboot and try again.
Some people seem to have trouble with an automated jailbreak using the device boot Tasker profile (step 12). If you are experiencing this, a more manual approach might work better for you:
Remove the profile from step 12.
Instead, create a profile 'Event - Hardware - Volume Long Press'.
Add task 'Code - ADB Wifi' with the commands from the initial instructions.
Save.
Now, when you reboot, it'll take you to the Android home screen. Then, start the 'NautilusLauncher' app, which will take you to JRNY. Once in JRNY, long press the 'volume up' button behind the screen to manually perform the unlock.
Some people have had problem with step 10 (set Quickstep as default home app). You can try rebooting all the way to JRNY, then doing 'adb shell am stopservice com.nautilus.nautiluslauncher/com.nautilus.nautiluslauncher.thirdparty.appmonitor.AppMonitorService'. Then swiping up and going to settings, force-stopping NautilusLauncher and then setting Quickstep as the default home launcher app.
If the unlock doesn't work after the Tasker automation, you should still be able to connect using adb and execute the commands on adb shell to perform the unlock manually after which you can then edit your Tasker profile.
To view the bike data (burn rate, resistance) with 3rd party applications (full screen):
Start a JRNY workout with entertainment feature available. Manual workout under programs works well.
Choose any of the entertainment app options (ie Netflix) and start workout.
Swipe entertainment app to the side and open the 3rd party application you'd like to use
Use Peloton app (or other apps (with Zwift, use the workout with Zwift program instead)) while showing cadence, resistance and heart rate (split-screen):
Start JRNY app
Go back to the home screen.
Start Peloton app
Swipe up to the side-by-side app selector.
Long press the Peloton icon and select split-screen. This splits the screen to left and right, with left part running Peloton.
Click JRNY app on the right part of screen.
Adjust the screen divider so that Peloton app takes 2/3rds of the screen.
Select programs - work out with Peloton on JRNY and click start workout.
Select your program in the peloton app.
You can have your heart rate monitor synced either to the Peloton app or the JRNY app via the normal heart rate monitor options of the apps.
To get Zwift working on the bike:
Install xapk manager from https://apkfab.com/xapk-manager/com.apkfab.installer/download
Download zwift from https://m.apkpure.com/zwift/com.zwift.zwiftgame
Install
To run, start JRNY and have the workout with Zwift program running. After that switch to Zwift and it'll see the data from the bike.
It looks like getting the bike to send data to Zwift is a bit trickier than I originally thought. Sometimes it's easy to get the link to work. Other times, not so much. Figuring out how you can use Zwift consistently still needs some more work.
The bike console is a bit underpowered for Zwift graphics, so also experimenting with remote desktop type apps to have Zwift running on a laptop while the screen is shown on the bike console with smoother graphics. So far have had some good results with cast receiver / chrome cast. But it is only one way, so while you can see the screen, you can't control it.
----------
Some random notes for anyone interested in helping and improving the jailbreak:
Before starting to hack around, I strongly recommend that you back up all of the custom nautilus software apks so that you have some way of reinstalling them later if required.
adb via usb
If you open the back of the screen, there is a micro usb slot on the motherboard that can used to connect adb.
As you can connect adb via wifi, not sure if this is really needed for anything.
adb reboot recovery
Reboots, takes you to a screen saying 'erasing' and in the end you end up on a standard android tablet setup screen with all custom software (including the bowflex software) erased.
adb reboot bootloader (my personal experience with this):
Rebooted, got to the 'powered by android' screen, but seemed to be stuck there.
Tried a bunch of key presses at the back of the screen. With some of them pressed, the console playd a sound effect, but wasn't able to get forwards from the screen.
For a while thought that i had bricked the console. Unplugged it for half an hour and when i came back and plugged it back it, it booted again.
factory reset
Unplug the bike.
Hold the top button (which looks like a disk/arrow).
Plug back in.
Release the button once you see a while box blip that says applying golden image.
NOTE: I wasn't able to get this to work after erasing the device with 'adb reboot recovery', which probably means that it only works as long as NautilusLauncher is installed.
serial port
The bike connects to the console via a serial port. The device entry for it is /dev/ttyS4.
Only system/root has access to the device, which is why we need NautilusLauncher running to get JRNY to connect to the bike.
NautilusLauncher has a service called SerialPortService, which basically forwards input and output from and to the serial port to tcp:9999.
JRNY app connects to the serial port via the tcp port.
It might be interesting to make an app that connects to tcp:9999 to listen to the bike, e.g. for a custom HUD.
JRNY
Doesn't require system privileges unlike the other bowflex apps.
You can unpack the apk, make changes to it (such as disabling the screen saver and connecting to a different tcp port to connect to the bike), repack and sign it with our own key and have it successfully installed and ran. While the bike connectivity works after doing this, the app seems to have problems, e.g. if trying to bring up the overlay or start with workout with zwift program. Hoping that these can be fixed over time.
"/sdcard/Pictures/nautilus"
The existance of this file controls if NautilusLauncher disables adb debugging upon startup.
modifying JRNY
unpack: apktool d Bowflex_base.apk
...make changes...
repack: apktool b Bowflex_base -o Bowflex_edited.apk
create your own signing key: keytool -genkey -v -keystore my-apk-hack-key.keystore -keyalg RSA -keysize 2048 -validity 10000
sign the modified apk: jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my-apk-hack-key.keystore Bowflex_edited.apk mykey
disable JRNY screen saver by modifying JRNY apk:
edit smali/com/nautilus/bowflex/managers/ScreenDimmingManager.smali
change 'getDimmingEnabled' method to:
.method public static final synthetic access$getDimmingEnabled$p(Lcom/nautilus/bowflex/managers/ScreenDimmingManagerZ
.locals 0
const/4 p0, 0x0
return p0
.end method
over-the-air updates
Bowflex pushes new updates to the console. It's possible that one of these future updates will cause this jailbreak to stop working.
To prevent that, we have uninstalled the nautilus_ota_client app, as well use the setting 'settings put global ota_disable_automatic_update 1'.
We haven't really looked into the updating process, so not completely sure that the above will actually prevent them.
In future, we are hoping to be able to pull the updated apks from somewhere and perform the updates manually. Meanwhile, you can just keep using the current versions of the software.
There is a file that (we assume) contains the credentials for the ota updates. This may be helpful in pulling the updated apks / firmware manually in future: /sdcard/Nautilus/redbend/Credentials.txt
secret menus
In the Bowflex screen showing the serial number
Rapidly click on top right corner to bring up their super secret menu.
Rapidly click on top left corner to bring up the current firmware version number.
Rapidly click on bottom left corner to bring up their secret menu.
In the jrny app login screen:
Rapidly click on top right corner to bring up their advanced features menu.
Updated the instructions with a simple solution to the screen saver / black screen problem.
Updated with instructions on how to use the Peloton app (or other apps) while being able to see cadence, resistance and heart rate on the screen.
Hey, Thanks for the post, I'm very excited to not be locked into JRNY.
I'm not the most familiar with the tools in this process but I got to step 10. When i change to Quickstep the machine restarts, seems to hang a bit at the boot up screen (with the serial number) and just boots back into JRNY. I've tried a few times now with the same result.
in the troubleshooting section it states
If your console takes a long time to boot, the jailbreak may try to execute too early. Try to increase the wait time.
I'm wondering if that's my issue here and was curious how one might "increase the wait time?
Thanks for any clarification you can offer.
magufalo said:
Hey, Thanks for the post, I'm very excited to not be locked into JRNY.
I'm not the most familiar with the tools in this process but I got to step 10. When i change to Quickstep the machine restarts, seems to hang a bit at the boot up screen (with the serial number) and just boots back into JRNY. I've tried a few times now with the same result.
in the troubleshooting section it states
If your console takes a long time to boot, the jailbreak may try to execute too early. Try to increase the wait time.
I'm wondering if that's my issue here and was curious how one might "increase the wait time?
Thanks for any clarification you can offer.
Click to expand...
Click to collapse
I think the most likely cause for that to happen would be if NautilusLauncher was still running.
When you do step 9 (In settings - apps, force-stop NautilusLauncher), does the 'force-stop' button turn gray? If not, see if you have 'Bowflex' application running and force-stop it first and then force-stop NautilusLauncher.
Is there any way to get the Bowflex_base.apk file? Right now I have a $3k android tablet with no NautilusLauncher/Utility/JRNY app. Thank you!
scafs said:
Is there any way to get the Bowflex_base.apk file? Right now I have a $3k android tablet with no NautilusLauncher/Utility/JRNY app. Thank you!
Click to expand...
Click to collapse
There are links to the ota client and nautiluslauncher in the comments section of the reddit unlocking thread
https://www.reddit.com/r/Bowflex/comments/mi8wdo
I think they should be enough to get the bike to do a self update and restore all the original software.
xasmx said:
Note that this post is being updated with new information as we figure things out.
This jailbreak should allow you to use the console like a normal Android tablet, install and run any software on it from the Play Store and sideload software as well as run the JRNY app. It does not root the device. We have tested it on Bowflex Velocore, but assume that it will most likely work on other new Bowflex products with an Android tablet that are locked into JRNY. While we believe things are working in general, it has not been extensively tested. We are releasing it early in hopes to get more people interested in improving it.
Follow these instructions at your own risk. Read through all of the instructions before deciding to follow through. Making modification to your device may cause it to stop working. It may also void your warranty.
The instructions were written after we had already jailbroken our bikes, so we didn't really have a way to test that they work exactly as documented on a locked bike. Some experimentation may be needed. Good luck!
Step 1: Reboot.
Step 2: On the Bowflex screen showing the serial number, rapidly tap on upper right corner until a menu appears.
Step 3: Select 'Manufacturing App'.
Step 4: Long press the home button at the back of the screen and wait for Google Assistant to pop up.
Step 5: Type 'settings' to Google assistant and hit enter.
Step 6: In settings, enable ADB debugging from: System - Developer Settings - USB debugging.
Step 7: Look up your ip address from Network settings.
Step 8: Using adb (from Android platform tools) on your Desktop (which needs to be connected to the same network as your Velocore):
adb connect <replace-with-velocore-ip-address-from-step-7>adb shelltouch /sdcard/Pictures/nautilusam stopservice com.nautilus.nautiluslauncher/com.nautilus.nautiluslauncher.thirdparty.appmonitor.AppMonitorServicesettings put secure ntls_launcher_preference 0settings put secure navigationbar_switch 1settings put secure notification_switch 1settings put secure statusbar_switch 1settings put global ota_disable_automatic_update 1Step 9: In settings - apps, force-stop NautilusLauncher.
Step 10: In settings - apps, set Quickstep as the default home app. Otherwise NautilusLauncher will take over when you press the home button and undo the jailbreak.
At this point, a reboot should take you to the Android home screen instead of JRNY. For JRNY to be able to connect to the bike, some of the services in NautilusLauncher need to be running. Unfortunately, starting NautilusLauncher will undo the jailbreak. To get around that, use the following to automatically start NautilusLauncher at startup and perform a jailbreak:
Step 11: Install Tasker (costs $3.50)
Step 12: In Tasker, create a new Profile 'Event - System - Device Boot'. Add the following tasks to the profile:
Task 1: App - Launch App - NautilusLauncher
Task 2: Task - Wait, configuration: 30 seconds
Task 3: Code - ADB Wifi, configuration:
Command:
until appMonitor=$(dumpsys activity services AppMonitorService | grep "(nothing)"); do am stopservice com.nautilus.nautiluslauncher/com.nautilus.nautiluslauncher.thirdparty.appmonitor.AppMonitorService; sleep 1; done;settings put secure ntls_launcher_preference 0;settings put secure navigationbar_switch 1;settings put secure notification_switch 1;settings put secure statusbar_switch 1;settings put global ota_disable_automatic_update 1;settings put system screen_brightness 255;
At this point one more problem remains. JRNY app has its own screen saver which turns the screen off after five minutes of inactivity. If you have some other app at the foreground, you'll soon notice that your screen turns black and you seemingly can only get forwards by rebooting. To solve this:
Step 13: In Tasker, create a new Profile 'Event - System - Device Boot'. Add the following tasks to the profile:
Task 1: Task - Wait, configuration: 50 ms
Task 2: Display - Display Brightness: 255
Task 3: Task - Goto, configuration: 1
At this point, a reboot takes you to the Android home screen. After a few seconds, Tasker will launch NautilusLauncher and you will be taken to JRNY. Once the tasker wait has finished, a jailbreak is done. Then, you can swipe off JRNY and NautilusLauncher and should be fully jailbroken.
Note that Bowflex pushes software updates to the bike automatically. It's possible that future updates will stop this jailbreak from working. To try to prevent this, we have uninstalled the nautilus_ota_client app as well as set the 'ota_disable_automatic_update' setting above. We haven't confirmed that these are effective to preventing updates. If you decide to uninstall the app and use the setting, consider the following:
You may not receive new updates to the software of the bike anymore.
In case you later decide that you want to get updates again, make sure to backup the apk before uninstalling!.
----------
Troubleshooting:
If your console takes a long time to boot, the jailbreak may try to execute too early. Try to increase the wait time.
Sometimes the launcher seems to restart itself before the jailbreak is completed. You might still get jailbroken on the second start, but if not, just reboot and try again.
Sometimes when escaping JRNY after the jailbreak, the background might show the Bowflex image. Not sure if it actually effects anything, but just in case, you can just reboot and try again.
Some people seem to have trouble with an automated jailbreak using the device boot Tasker profile (step 12). If you are experiencing this, a more manual approach might work better for you:
Remove the profile from step 12.
Instead, create a profile 'Event - Hardware - Volume Long Press'.
Add task 'Code - ADB Wifi' with the commands from the initial instructions.
Save.
Now, when you reboot, it'll take you to the Android home screen. Then, start the 'NautilusLauncher' app, which will take you to JRNY. Once in JRNY, long press the 'volume up' button behind the screen to manually perform the unlock.
Some people have had problem with step 10 (set Quickstep as default home app). You can try rebooting all the way to JRNY, then doing 'adb shell am stopservice com.nautilus.nautiluslauncher/com.nautilus.nautiluslauncher.thirdparty.appmonitor.AppMonitorService'. Then swiping up and going to settings, force-stopping NautilusLauncher and then setting Quickstep as the default home launcher app.
If the unlock doesn't work after the Tasker automation, you should still be able to connect using adb and execute the commands on adb shell to perform the unlock manually after which you can then edit your Tasker profile.
To view the bike data (burn rate, resistance) with 3rd party applications (full screen):
Start a JRNY workout with entertainment feature available. Manual workout under programs works well.
Choose any of the entertainment app options (ie Netflix) and start workout.
Swipe entertainment app to the side and open the 3rd party application you'd like to use
Use Peloton app (or other apps (with Zwift, use the workout with Zwift program instead)) while showing cadence, resistance and heart rate (split-screen):
Start JRNY app
Go back to the home screen.
Start Peloton app
Swipe up to the side-by-side app selector.
Long press the Peloton icon and select split-screen. This splits the screen to left and right, with left part running Peloton.
Click JRNY app on the right part of screen.
Adjust the screen divider so that Peloton app takes 2/3rds of the screen.
Select programs - work out with Peloton on JRNY and click start workout.
Select your program in the peloton app.
You can have your heart rate monitor synced either to the Peloton app or the JRNY app via the normal heart rate monitor options of the apps.
To get Zwift working on the bike:
Install xapk manager from https://apkfab.com/xapk-manager/com.apkfab.installer/download
Download zwift from https://m.apkpure.com/zwift/com.zwift.zwiftgame
Install
To run, start JRNY and have the workout with Zwift program running. After that switch to Zwift and it'll see the data from the bike.
It looks like getting the bike to send data to Zwift is a bit trickier than I originally thought. Sometimes it's easy to get the link to work. Other times, not so much. Figuring out how you can use Zwift consistently still needs some more work.
The bike console is a bit underpowered for Zwift graphics, so also experimenting with remote desktop type apps to have Zwift running on a laptop while the screen is shown on the bike console with smoother graphics. So far have had some good results with cast receiver / chrome cast. But it is only one way, so while you can see the screen, you can't control it.
----------
Some random notes for anyone interested in helping and improving the jailbreak:
Before starting to hack around, I strongly recommend that you back up all of the custom nautilus software apks so that you have some way of reinstalling them later if required.
adb via usb
If you open the back of the screen, there is a micro usb slot on the motherboard that can used to connect adb.
As you can connect adb via wifi, not sure if this is really needed for anything.
adb reboot recovery
Reboots, takes you to a screen saying 'erasing' and in the end you end up on a standard android tablet setup screen with all custom software (including the bowflex software) erased.
adb reboot bootloader (my personal experience with this):
Rebooted, got to the 'powered by android' screen, but seemed to be stuck there.
Tried a bunch of key presses at the back of the screen. With some of them pressed, the console playd a sound effect, but wasn't able to get forwards from the screen.
For a while thought that i had bricked the console. Unplugged it for half an hour and when i came back and plugged it back it, it booted again.
factory reset
Unplug the bike.
Hold the top button (which looks like a disk/arrow).
Plug back in.
Release the button once you see a while box blip that says applying golden image.
NOTE: I wasn't able to get this to work after erasing the device with 'adb reboot recovery', which probably means that it only works as long as NautilusLauncher is installed.
serial port
The bike connects to the console via a serial port. The device entry for it is /dev/ttyS4.
Only system/root has access to the device, which is why we need NautilusLauncher running to get JRNY to connect to the bike.
NautilusLauncher has a service called SerialPortService, which basically forwards input and output from and to the serial port to tcp:9999.
JRNY app connects to the serial port via the tcp port.
It might be interesting to make an app that connects to tcp:9999 to listen to the bike, e.g. for a custom HUD.
JRNY
Doesn't require system privileges unlike the other bowflex apps.
You can unpack the apk, make changes to it (such as disabling the screen saver and connecting to a different tcp port to connect to the bike), repack and sign it with our own key and have it successfully installed and ran. While the bike connectivity works after doing this, the app seems to have problems, e.g. if trying to bring up the overlay or start with workout with zwift program. Hoping that these can be fixed over time.
"/sdcard/Pictures/nautilus"
The existance of this file controls if NautilusLauncher disables adb debugging upon startup.
modifying JRNY
unpack: apktool d Bowflex_base.apk
...make changes...
repack: apktool b Bowflex_base -o Bowflex_edited.apk
create your own signing key: keytool -genkey -v -keystore my-apk-hack-key.keystore -keyalg RSA -keysize 2048 -validity 10000
sign the modified apk: jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my-apk-hack-key.keystore Bowflex_edited.apk mykey
disable JRNY screen saver by modifying JRNY apk:
edit smali/com/nautilus/bowflex/managers/ScreenDimmingManager.smali
change 'getDimmingEnabled' method to:
.method public static final synthetic access$getDimmingEnabled$p(Lcom/nautilus/bowflex/managers/ScreenDimmingManagerZ
.locals 0
const/4 p0, 0x0
return p0
.end method
over-the-air updates
Bowflex pushes new updates to the console. It's possible that one of these future updates will cause this jailbreak to stop working.
To prevent that, we have uninstalled the nautilus_ota_client app, as well use the setting 'settings put global ota_disable_automatic_update 1'.
We haven't really looked into the updating process, so not completely sure that the above will actually prevent them.
In future, we are hoping to be able to pull the updated apks from somewhere and perform the updates manually. Meanwhile, you can just keep using the current versions of the software.
There is a file that (we assume) contains the credentials for the ota updates. This may be helpful in pulling the updated apks / firmware manually in future: /sdcard/Nautilus/redbend/Credentials.txt
secret menus
In the Bowflex screen showing the serial number
Rapidly click on top right corner to bring up their super secret menu.
Rapidly click on top left corner to bring up the current firmware version number.
Rapidly click on bottom left corner to bring up their secret menu.
In the jrny app login screen:
Rapidly click on top right corner to bring up their advanced features menu.
Click to expand...
Click to collapse
I'm atru
I got it unlocked! But now I'm struggling to reaccess JRNY. The generic app store app cannot find my bike and doesn't have an option for Velocore. Is there a way to have the original JRNY (built for the bike) and Peloton up on the screen?
I added links to backups of the preinstalled apps on Velocore to the Reddit thread.
Laurenann said:
I got it unlocked! But now I'm struggling to reaccess JRNY. The generic app store app cannot find my bike and doesn't have an option for Velocore. Is there a way to have the original JRNY (built for the bike) and Peloton up on the screen?
Click to expand...
Click to collapse
The generic version of the JRNY doesn't support Velocore. You need the version of JRNY that comes with the bike and to have that version of the JRNY app connect to the bike, you need to follow all the steps in the instructions. You can run the generic Peloton app and it'll show up on the screen. But if you want all the bike sensors to show up at the same time, there are some more specific instuctions for Peloton app later in the document.
Hello again - JRNY updated and I'm trying to re-jailbreak but can't access Google Assistant in any way. I long press the home button and the edge of the screen glows white and the little white bubble pops up on the bottom but that's it. I can't hold or tap it enough to make it show back up. Is there any other way to get to settings to force stop Nautilus?
Hi. I've heard from someone else that the jailbreak doesn't work, as described, after the latest update (5.0.0.292 version of NautilusLauncher). I'm still running with the old version myself (I disabled updated after the jailbreak), so not sure if you can get to the settings somehow.
You can still jailbreak the bike by first downgrading the software to 5.0.0.268 and then performing the jailbreak. To do that, you'll need to do a factory reset and then reinstall the old versions of the software that are linked in the reddit thread. Someone also wrote a bit more detailed instructions on how to do this in the comments section there.
EDIT- i now see the post from rg64ml128, and have located the links in the reddit thread I also missed. Thank you!
My bowflex velocore (my gfs bowflex velocore) has a dead spot in the screen, but I wasn't sure it wasn't just the UI /****ty firmware until I tried to do a factory reset to see if that would help solve the issue. I didn't follow any steps above under the assumption it would reboot to factory version of the pre installed software. Oops...
Turns out i factory reset the whole tablet to android, and now I'm stuck in Android mode with no way to get back to the original factory settings. this would be cool if it wasn't my gfs, who is pissed at me. Any one know of any way to go back to the beginning? So far I've seen no traces of the original software.
I factory reset my bowflex velocore using their secret menu (bottom left) and now I don't have audio, but am on android without all the bowflex preinstalled apps. Does anyone else have this issue?
quackinator said:
I factory reset my bowflex velocore using their secret menu (bottom left) and now I don't have audio, but am on android without all the bowflex preinstalled apps. Does anyone else have this issue?
Click to expand...
Click to collapse
I'm not sure if I ever tried audio right after a factory reset, but I don't see any reason why it would not work. I've done factory resets and then reinstalled the bowflex apps with a jailbreak and definitely have audio at that point.
Unfortunately the jrny app links on the reddit post are no longer valid. Could anyone please share working links if possible?
Running the latest version 5.0.0.425 step 4 to get to the google assistance settings no longer works. When I gold the home button, google assistance appears for a second and immediately disappears, so I can't access settings to turn on.
What are my options ?
Has anyone tried adding a momentary switch on the unpopulated Boot SEL switch ( sw1 ) I am wondering what it does?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hi.
Any idea if that method is working on Vision Fitness treadmill?
Regards.
State of market
Do NOT buy this watch. It looks like excellent value for money, but much modern H1 / W5 series with Android 9 and full Play Store just hit the shelves on AliExpress for almost the same price.
If mine arrives I'll create separate thread about them.
Brands
My specific watch that I used to experiment with is G4P, bought straight from Chinese factory:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
However almost everything from this thread applies to any watch running on SP9820E SoC, like G4E or G4H series.
Those watches are also often rebranded and sold as: Kinyo, Garett, Lemfo, Wonlex, Locon and many more.
Just check in spec if it is running on 9820E chip and you are good to go.
Reasons for modding
Those watches by default use very limited set of very simple applications presented in most ugly launcher and icon sets achievable by humans.
You can not install any extra applications and what you get from the box is very disappointing.
Also they are meant to be managed exclusively by corresponding phone application like SeTracker 2 (or rebrands like Garett Tracker),
which means you need to send your data to Chinese service and use WeeChat for chats/video calls, whether you like it or not.
This is true shame, because SP9820E is quite powerful hardware, here is GeekBench score.
Do not be fooled by oversimplified stock software - you can run pretty much any "real" application on it.
Luckily because those watches use Android under the hood you can transform them to something more feature-rich and more pleasant to use.
Android KitKat is NOT Android Wear
Those watches use Android 4.4, codename KitKat. Just like old phones. Please do not confuse it with Android Wear operating system and do not try to use applications built for Android Wear. Whatever you use must be Android 4.4 compatible, anything newer won't install at all. Android on this watch is heavily modified, lacks some components and you will run into many crashes or weird behaviour. Sections below will help you to navigate through those issues.
Also applications back in KitKat era were not designed with watch screens in mind, so expect bad interface scaling, not accessible buttons and huge or microscopic fonts.
How to install any application from stock Launcher?
Get application *.apk file from trusted site.
Set up Bluetooth connection between your watch (in Settings -> More -> Bluetooth) and computer / phone. Do not use macOS computer, it does not work. Android phone seems to be most compatible.
Upload *.apk file to watch using Bluetooth.
On watch go to Settings -> Tools -> File explorer and select Local -> bluetooth. Click on *.apk file and install it.
Installed application will not be visible from stock Launcher. So I really recommend installing another Launcher as first application.
Launcher
I use Nova Launcher. You need 5.5.4 version, this is the last one compatible with Android 4.4.
Once you install it using installation method described above press power button and it should prompt you which Launcher to use. Select Nova.
And enjoy freedom. It is also surprisingly fast and does not consume more battery than stock one.
If you have Nova Pro purchased you can activate it in two ways:
Use APK extractor on phone where you have Nova Prime activation installed. Dump license application to phone storage and install it the same way as launcher itself. But beware - it must be 2017 or earlier activation package. You cannot dump it from modern phone.
Search for nova_launcher_prime_v2017_full.apk and install this fake license. This is questionable way of activating it. But if you do not have old phone with old license preinstalled you have no other options. I think that if you own legal license on Play Store you will do no harm to developers this way.
Tips:
To avoid being asked for launcher when pressing power button you can disable stock launcher (requires root) through ADB shell: su, and then pm disable com.sgtc.launcher.
This firmware has very aggressive power management and you may notice lag when waking up watch after longer period of time. This is because Nova got killed by operating system and must start from scratch. To avoid it convert Nova launcher to system application (requires root). This can be done using Link2SD application. Open it, search for Nova, click on Nova, click triple dot menu menu and you will have option to convert to system. Remember to have default launcher or ADB enabled while doing this, because you will need one of those to invoke reboot.
Lock screen using button (broken, workarounds available)
If you have two Launchers power button will always prompt for Launcher when pressed on unlocked screen. You cannot change it without root, there is something modified under the hood and even Nova cannot set itself as default Launcher.
The workarounds are to lock screen using icon:
Add Nova action widget and set it to lock screen.
Add Power Toggles widget and add lock screen button to it.
Settings (partially works)
Settings are very simplified compared to stock Android 4.4. I've tried to install stock AOSP Settings APP but it fails. A lot of "hidden settings" applications allows to invoke deep buried panels like HotSpot or lock screen patterns configurations. Tedious job, lot of crashes along the way.
You can also:
Go to engineering mode by dialling *#*#83781#*#*.
Go to Developer Options by using Developer Options Shortcut application.
Status bar (broken, workaround available)
It does not work on any launcher (I tested a few beside Nova). Probably it was so heavily modified that API is no longer compatible. It cannot even be invoked by ADB service call statusbar 1.
The good replacement is Power Toggles, which allows to add widgets with battery level, fast volume profiles switching, enabling Wi-Fi, Bluetooth. Pretty much everything you used status bar for. Except cellular signal strength. I use version 6.0.4.
Tips:
Just as for launcher - aggressive power management will close it as inactive user application after short period. So because it is invoked every time screen is turned on best way to reduce screen wake up time is to convert Power Toggles to system application (requires root). This can be done using Link2SD application. Open it, search for Power Toggles, click on Power Toggles, click triple dot menu menu and you will have option to convert to system. Reboot watch.
You can set different battery colors, which makes it easier to use on small screen. I has mine set up to red (below 20%), yellow (20-80%) and green (above 80%).
You can set how frequent battery indicator is refreshed. By default it is quite laggy.
To get something looking like real status bar disable home screen margins in Nova launcher. Check my screenshot below for final effect.
Notification bar (broken)
Same deal as with Status bar - probably it was so heavily modified that API is no longer compatible with launchers.
You can open notification list service directly from Nova action. But you cannot manage it in any way (like cleaning old notifications) so it is pretty useless long list of accumulated trash.
I haven't found any good replacement.
Luckily Nova launcher notification dots work on applications icons and you can pretty much quickly figure out what just pinged you.
Clock time picker (broken)
By default you manage alarm clocks on this watch through phone application. But if you open on watch stock Android clock app you will see that you cannot set time, only set alarms on and off. Probably some Android component is missing. No fix or workaround yet. Also beware, because once you add alarm using APP on the watch there is no way to remove it - no option in app itself and SeTracker sees only first 3 of them. You will need to clean app data from ADB.
Power management (work in progress)
There are no options to keep app running in background. I'm still searching for good power management app replacement to keep things like WhatsApp or other services running.
For controlling:
screen delay (by default set to annoyingly short 10 seconds)
fine screen brightness
you can use buttons on Power Toggles widget. Once you set it to your preference widget can be removed and settings are remembered after reboot.
Screen rotation (tricky, broken)
Accelerometer is mounted 90 degrees clockwise and stock applications have this tilt compensation hardcoded into them.
This really dumb design has bad consequences:
If accelerometer rotation (auto-rotation) is enabled all "real" applications will think "up" is on the side where power button and flashlight is.
If accelerometer rotation is disabled most "real" applications will stay in fixed portrait orientation (also called user rotation) but some may still rely on accelerometer. The reason is that you can not fully disable accelerometer. Disabled only means "not taken into consideration unless explicitly asked for". And a lot of applications (mostly camera-related) still try to be user friendly and rotates screen the wrong way.
If you mess something up you can lock Screen Rotation again by adding such button on Power Toggles widget and using it.
Or if you have root:
disable accelerometer rotation: settings put system accelerometer_rotation 0
set user rotation to portrait mode: settings put system user_rotation 0
Start sound
Requires root.
First remount /custom in read-write mode: mount -o rw,remount /custom.
Then remove /custom/movies/bootsound.mp3.
Apps recommendations (please share yours)
A lot of "phone" applications work out of the box, assuming you get Android 4.4 compatible versions of them. You can install them the same way as launcher or through ADB. My set is:
Simple Keyboard is perfect for this watch. Disable symbols, set height to 150% and typing will be really comfortable and fast.
Power Toggles. Must have to compensate broken status bar and missing settings.
WhatsApp. Communication freedom. Pretty much you can stop here if you want this watch to be simple device for kid.
VLC for listening audiobooks (although interface does not scale well, looking for something better).
Wulkanowy (polish e-grade book with lessons plan, homework, etc. I assume a lot of people from Poland will come here because of Garett popularity so I'm mentioning it).
Solid Explorer. Built-in explorer is very castrated and crashes often when other apps try to use it (for example to select icon picture or file to share). Solid Explorer is stable and has a lot of built-in format viewers. Unfortunately one cannot run FTP server using it - button to start is off the screen. Bug reported, I hope it will get fixed soon.
OurGroceries. Excellent shopping/checkbox list that can be synchronized between various devices. Very useful to make list of things kid should take to school for example.
Diki. Online dictionary with simple interface that scales very well on this small screen. Translations are straightforward, without tons of magic grammar shortcuts. Allows to listen for words pronunciation.
Stock apps that are preinstalled and work OK:
Dialer
Contacts (you can even import cards from vcf file)
Flashlight
Looking for:
CalDav / CardDav sync (unfortunately there is no accounts management in API and most apps adding Dav support to Android crash).
Call blocker that will reject everything outside contacts list. To protect kid from scammers, marketers and other unwanted calls.
Known to fail:
SMSes. Can be sent but watch management API interrupts receiving to capture push control commands. Installing any other SMS application and setting it as default one breaks watch management from phone application.
WhatsApp. Camera during video calls is upside down.
Google Play Services. Instant crash.
Google Chrome 81. Crashes after few seconds of activity. For all apps that need SystemWebView component to work try Bromite replacement. However in KitKat WebView was not an application and Developer Options has no way of choosing default one. So it may fix very small amount of applications which are self-aware of different WebViews providers.
Google Calendar. Needs working Google Play Services.
F-Droid store. Crashes randomly and may require patience to install anything.
OpenSync. Cannot add any DAV account due to SSL crash.
Wikipedia. No articles can be displayed. Probably due to their latest TLS 1.2 mandatory API switch. However simply bookmarking Wikipedia in Bromite browser works just fine.
ADB and USB debugging
By default those watches are sold with charging cable only, it does not have signal pins. Your life will be a lot easier if you will be able to transfer files directly from your computer to watch and use ADB to do stuff. You can check cable dimensions here: https://allegro.pl/oferta/magnetyczny-kabel-zasilajacy-do-garett-kids-xd-10972606997 . Remember - it must have four pogo pins.
Connecting with cable is straightforward just like when connecting regular phone. Just be aware of two things:
Magnets are not strong enough to press four pins to contact pads. If you have trouble connecting try pressing magnet plug to watch firmly.
This is Android 4.4, so you need ancient knowledge. Like for example there is no "cmd" command available in ADB shell. Some command line switches are very different from what is being used today. Etc.
You can set USB to file transfer mode. Android File Transfer desktop application works perfectly and transfers are surprisingly fast. Probably it is the most convenient way to transfer applications, audiobooks and music to this watch.
Root
Based on https://github.com/eisaev/SuperSUInstaller process.
Install Developer Options Shortcut. Installation method is irrelevant. You can do it the same way as Launcher installation described above. Or if you already have more advanced stuff installed you can use an file transfer method and any file manager to do it.
Run Developer Options Shortcut and enable USB debugging.
Install SuperSU Installer. Again installation method is irrelevant.
Run SuperSU Installer. Wait for Hello World message and go back to Launcher.
In Local files on the watch there should be new SuperSU Manager APK generated. Install it but do not open.
Restart watch.
Disable WiFi and Bluetooth.
Connect USB cable.
Open dialer and enter *#*#83781#*#*. Engineering settings will open.
Go to CONNECTIVITY tab.
Click Start Service.
Click Wifi eut and confirm popup.
run adb shell on your computer
in shell enter: am start --user 0 -n ru.eisaev.supersuinstaller/.MainActivity
Wait for Hello world message on watch screen.
In shell enter: am start --user 0 -n eu.chainfire.supersu/.MainActivity
On watch screen SuperSU Manager should pop up and offer binary update. Choose Normal mode.
Restart watch.
Open SuperSU Manager. Method is irrelevant, can be clicked from Nova launcher or invoked from ADB like in 16.
Go to Settings and set Default access to Grant.
Confirm that you have root access by going to ADB shell and invoking: su
Clean up all files generated by SuperSU Installer from Local directory on the watch.
This method slightly diverges from original because users are different and because SuperSU Installer crashes when leaving to desktop using home button. Making it impossible to go from step 8 to 9 described in original method.
So for Installer and Manager to see each other at the same time you need to do this weird loop: install Installer which generates Manager which you can install prematurely to be able to later fire up both Installer and Manager at the same time from ADB without using watch home button.
Kudos for eisaev for discovering this process and building SuperSU!
My result
Home screen of Nova launcher:
Power Toggles bar on top emulates status bar. It handles battery info, fast volume and brightness settings and connectivity settings.
Two Nova action widgets added on the bottom - one for power off, second one for applications list.
Application list:
Nova allows to hide applications, so I used it to hide everything kid is not supposed to mess with. Like settings of various sort.
Many apps like Calculator or Gallery I've extracted directly from my old Android 4.4 phone.
Keyboard:
Simple Keyboard is far more usable and fast than stock keyboard. Kid has no problem with typing on it. However just as on stock keyboard you have to type blindly and occasionally minimize keyboard to verify what you've typed.
Please contribute
If you have found solution to any of mentioned problems, encountered new problem on your own or just found good app please share in comments.
bbkr said:
Brands
My specific watch that I used to experiment with is G4P, bought straight from Chinese factory:
View attachment 5407991
However almost everything from this thread applies to any watch running on SP9820E SoC, like G4E or G4H series.
Those watches are also often rebranded and sold as: Kinyo, Garett, Lemfo, Wonlex, Locon and many more.
Just check in spec if it is running on 9820E chip and you are good to go.
Reasons for modding
Those watches by default use very limited set of very simple applications presented in most ugly launcher and icon sets achievable by humans.
You can not install any extra applications and what you get from the box is very disappointing.
Also they are meant to be managed exclusively by corresponding phone application like SeTracker 2 (or rebrands like Garett Tracker),
which means you need to send your data to Chinese service and use WeeChat for chats/video calls, whether you like it or not.
This is true shame, because SP9820E is quite powerful hardware, here is GeekBench score.
Do not be fooled by oversimplified stock software - you can run pretty much any "real" application on it.
Luckily because those watches use Android under the hood you can transform them to something more feature-rich and more pleasant to use.
Android KitKat is NOT Android Wear
Those watches use Android 4.4, codename KitKat. Just like old phones. Please do not confuse it with Android Wear operating system and do not try to use applications built for Android Wear. Whatever you use must be Android 4.4 compatible, anything newer won't install at all. Android on this watch is heavily modified, lacks some components and you will run into many crashes or weird behaviour. Sections below will help you to navigate through those issues.
Also applications back in KitKat era were not designed with watch screens in mind, so expect bad interface scaling, not accessible buttons and huge or microscopic fonts.
How to install any application from stock Launcher?
Get application *.apk file from trusted site.
Set up Bluetooth connection between your watch (in Settings -> More -> Bluetooth) and computer / phone. Do not use macOS computer, it does not work. Android phone seems to be most compatible.
Upload *.apk file to watch using Bluetooth.
On watch go to Settings -> Tools -> File explorer and select Local -> bluetooth. Click on *.apk file and install it.
Installed application will not be visible from stock Launcher. So I really recommend installing another Launcher as first application.
Launcher
I use Nova Launcher. You need 5.5.4 version, this is the last one compatible with Android 4.4.
Once you install it using installation method described above press power button and it should prompt you which Launcher to use. Select Nova.
And enjoy freedom. It is also surprisingly fast and does not consume more battery than stock one.
If you have Nova Pro purchased you can activate it in two ways:
Use APK extractor on phone where you have Nova Prime activation installed. Dump license application to phone storage and install it the same way as launcher itself. But beware - it must be 2017 or earlier activation package. You cannot dump it from modern phone.
Search for nova_launcher_prime_v2017_full.apk and install this fake license. This is questionable way of activating it. But if you do not have old phone with old license preinstalled you have no other options. I think that if you own legal license on Play Store you will do no harm to developers this way.
Tips:
To avoid being asked for launcher when pressing power button you can disable stock launcher (requires root) through ADB shell: su, and then pm disable com.sgtc.launcher.
This firmware has very aggressive power management and you may notice lag when waking up watch after longer period of time. This is because Nova got killed by operating system and must start from scratch. To avoid it convert Nova launcher to system application (requires root). This can be done using Link2SD application. Open it, search for Nova, click on Nova, click triple dot menu menu and you will have option to convert to system. Remember to have default launcher or ADB enabled while doing this, because you will need one of those to invoke reboot.
Lock screen using button (broken, workarounds available)
If you have two Launchers power button will always prompt for Launcher when pressed on unlocked screen. You cannot change it without root, there is something modified under the hood and even Nova cannot set itself as default Launcher.
The workarounds are to lock screen using icon:
Add Nova action widget and set it to lock screen.
Add Power Toggles widget and add lock screen button to it.
Settings (partially works)
Settings are very simplified compared to stock Android 4.4. I've tried to install stock AOSP Settings APP but it fails. A lot of "hidden settings" applications allows to invoke deep buried panels like HotSpot or lock screen patterns configurations. Tedious job, lot of crashes along the way.
You can also:
*#*#83781#*#*.
Developer Options Shortcut application.
Status bar (broken, workaround available)
It does not work on any launcher (I tested a few beside Nova). Probably it was so heavily modified that API is no longer compatible. It cannot even be invoked by ADB service call statusbar 1.
The good replacement is Power Toggles, which allows to add widgets with battery level, fast volume profiles switching, enabling Wi-Fi, Bluetooth. Pretty much everything you used status bar for. Except cellular signal strength. I use version 6.0.4.
Tips:
Just as for launcher - aggressive power management will close it as inactive user application after short period. So because it is invoked every time screen is turned on best way to reduce screen wake up time is to convert Power Toggles to system application (requires root). This can be done using Link2SD application. Open it, search for Power Toggles, click on Power Toggles, click triple dot menu menu and you will have option to convert to system. Reboot watch.
You can set different battery colors, which makes it easier to use on small screen. I has mine set up to red (below 20%), yellow (20-80%) and green (above 80%).
You can set how frequent battery indicator is refreshed. By default it is quite laggy.
To get something looking like real status bar disable home screen margins in Nova launcher. Check my screenshot below for final effect.
Notification bar (broken)
Same deal as with Status bar - probably it was so heavily modified that API is no longer compatible with launchers.
You can open notification list service directly from Nova action. But you cannot manage it in any way (like cleaning old notifications) so it is pretty useless long list of accumulated trash.
I haven't found any good replacement.
Luckily Nova launcher notification dots work on applications icons and you can pretty much quickly figure out what just pinged you.
Clock time picker (broken)
By default you manage alarm clocks on this watch through phone application. But if you open on watch stock Android clock app you will see that you cannot set time, only set alarms on and off. Probably some Android component is missing. No fix or workaround yet. Also beware, because once you add alarm using APP on the watch there is no way to remove it - no option in app itself and SeTracker sees only first 3 of them. You will need to clean app data from ADB.
Power management (work in progress)
There are no options to keep app running in background. I'm still searching for good power management app replacement to keep things like WhatsApp or other services running.
For controlling:
screen delay (by default set to annoyingly short 10 seconds)
fine screen brightness
Power Toggles widget. Once you set it to your preference widget can be removed and settings are remembered after reboot.
Screen rotation (tricky, broken)
Accelerometer is mounted 90 degrees clockwise and stock applications have this tilt compensation hardcoded into them.
This really dumb design has bad consequences:
If accelerometer rotation (auto-rotation) is enabled all "real" applications will think "up" is on the side where power button and flashlight is.
If accelerometer rotation is disabled most "real" applications will stay in fixed portrait orientation (also called user rotation) but some may still rely on accelerometer. The reason is that you can not fully disable accelerometer. Disabled only means "not taken into consideration unless explicitly asked for". And a lot of applications (mostly camera-related) still try to be user friendly and rotates screen the wrong way.
If you mess something up you can lock Screen Rotation again by adding such button on Power Toggles widget and using it.
Or if you have root:
disable accelerometer rotation: settings put system accelerometer_rotation 0
set user rotation to portrait mode: settings put system user_rotation 0
Start sound
Requires root. Remove /custom/movies/bootsound.mp3.
Apps recommendations (please share yours)
A lot of "phone" applications work out of the box, assuming you get Android 4.4 compatible versions of them. You can install them the same way as launcher or through ADB. My set is:
Simple Keyboard is perfect for this watch. Disable symbols, set height to 150% and typing will be really comfortable and fast.
Power Toggles. Must have to compensate broken status bar and missing settings.
WhatsApp. Communication freedom. Pretty much you can stop here if you want this watch to be simple device for kid.
VLC for listening audiobooks (although interface does not scale well, looking for something better).
Wulkanowy (polish e-grade book with lessons plan, homework, etc. I assume a lot of people from Poland will come here because of Garett popularity so I'm mentioning it).
Solid Explorer. Built-in explorer is very castrated and crashes often when other apps try to use it (for example to select icon picture or file to share). Solid Explorer is stable and has a lot of built-in format viewers. Unfortunately one cannot run FTP server using it - button to start is off the screen. Bug reported, I hope it will get fixed soon.
OurGroceries. Excellent shopping/checkbox list that can be synchronized between various devices. Very useful to make list of things kid should take to school for example.
Diki. Online dictionary with simple interface that scales very well on this small screen. Translations are straightforward, without tons of magic grammar shortcuts. Allows to listen for words pronunciation.
Stock apps that are preinstalled and work OK:
Dialer
Contacts (you can even import cards from vcf file)
Flashlight
Looking for:
CalDav / CardDav sync (unfortunately there is no accounts management in API and most apps adding Dav support to Android crash).
Call blocker that will reject everything outside contacts list. To protect kid from scammers, marketers and other unwanted calls.
Known to fail:
SMSes. Can be sent but watch management API interrupts receiving to capture push control commands. Installing any other SMS application and setting it as default one breaks watch management from phone application.
WhatsApp. Camera during video calls is upside down.
Google Play Services. Instant crash.
Google Chrome 81. Crashes after few seconds of activity. For all apps that need SystemWebView component to work try Bromite replacement. However in KitKat WebView was not an application and Developer Options has no way of choosing default one. So it may fix very small amount of applications which are self-aware of different WebViews providers.
Google Calendar. Needs working Google Play Services.
F-Droid store. Crashes randomly and may require patience to install anything.
OpenSync. Cannot add any DAV account due to SSL crash.
Wikipedia. No articles can be displayed. Probably due to their latest TLS 1.2 mandatory API switch. However simply bookmarking Wikipedia in Bromite browser works just fine.
ADB and USB debugging
By default those watches are sold with charging cable only, it does not have signal pins. Your life will be a lot easier if you will be able to transfer files directly from your computer to watch and use ADB to do stuff. You can check cable dimensions here: https://allegro.pl/oferta/magnetyczny-kabel-zasilajacy-do-garett-kids-xd-10972606997 . Remember - it must have four pogo pins.
Connecting with cable is straightforward just like when connecting regular phone. Just be aware of two things:
Magnets are not strong enough to press four pins to contact pads. If you have trouble connecting try pressing magnet plug to watch firmly.
This is Android 4.4, so you need ancient knowledge. Like for example there is no "cmd" command available in ADB shell. Some command line switches are very different from what is being used today. Etc.
You can set USB to file transfer mode. Android File Transfer desktop application works perfectly and transfers are surprisingly fast. Probably it is the most convenient way to transfer applications, audiobooks and music to this watch.
Root
Based on https://github.com/eisaev/SuperSUInstaller process.
Developer Options Shortcut. Installation method is irrelevant. You can do it the same way as Launcher installation described above. Or if you already have more advanced stuff installed you can use an file transfer method and any file manager to do it.
Developer Options Shortcut and enable USB debugging.
SuperSU Installer. Again installation method is irrelevant.
SuperSU Installer. Wait for Hello World message and go back to Launcher.
In Local files on the watch there should be new SuperSU Manager APK generated. Install it but do not open.
Restart watch.
Disable WiFi and Bluetooth.
Connect USB cable.
Open dialer and enter *#*#83781#*#*. Engineering settings will open.
Go to CONNECTIVITY tab.
Start Service.
Wifi eut and confirm popup.
run adb shell on your computer
in shell enter: am start --user 0 -n ru.eisaev.supersuinstaller/.MainActivity
Wait for Hello world message on watch screen.
In shell enter: am start --user 0 -n eu.chainfire.supersu/.MainActivity
On watch screen SuperSU Manager should pop up and offer binary update. Choose Normal mode.
Restart watch.
Open SuperSU Manager. Method is irrelevant, can be clicked from Nova launcher or invoked from ADB like in 16.
Go to Settings and set Default access to Grant.
Confirm that you have root access by going to ADB shell and invoking: su
Clean up all files generated by SuperSU Installer from Local directory on the watch.
This method slightly diverges from original because users are different and because SuperSU Installer crashes when leaving to desktop using home button. Making it impossible to go from step 8 to 9 described in original method.
So for Installer and Manager to see each other at the same time you need to do this weird loop: install Installer which generates Manager which you can install prematurely to be able to later fire up both Installer and Manager at the same time from ADB without using watch home button.
Kudos for eisaev for discovering this process and building SuperSU!
My result
Home screen of Nova launcher:
View attachment 5420419
bar on top emulates status bar. It handles battery info, fast volume and brightness settings and connectivity settings.
Two Nova action widgets added on the bottom - one for power off, second one for applications list.
Application list:
View attachment 5420423
Nova allows to hide applications, so I used it to hide everything kid is not supposed to mess with. Like settings of various sort.
Many apps like Calculator or Gallery I've extracted directly from my old Android 4.4 phone.
Keyboard:
View attachment 5420427
Simple Keyboard is far more usable and fast than stock keyboard. Kid has no problem with typing on it. However just as on stock keyboard you have to type blindly and occasionally minimize keyboard to verify what you've typed.
Please contribute
If you have found solution to any of mentioned problems, encountered new problem on your own or just found good app please share in comments.
Click to expand...
Click to collapse
I bought this watch for my child, but when I want to use another tracking program other than the se tracker program, I cannot change the ip number. Can you help me with this? Since I couldn't find any more resources about g4h, I asked for help under this topic. The link to the watch I actually bought is below. If I can change the server of the watch with the sms sent to the watch, maybe I can switch to an application other than tracker. Engineering mode opens but I don't know how to do it.
Find my kids application server: pw,123456,ip,tcp.findmykids.org,8001#
https://tr.aliexpress.com/item/1005002878573395.html?spm=a2g0s.9042311.0.0.1cc04c4dVwpHt3
got one watch with the same chipset, but it is running at Android 8.1. any idea for root it?
already try above way to to do it. but it was failed.
rootzero7 said:
got one watch with the same chipset, but it is running at Android 8.1. any idea for root it?
already try above way to to do it. but it was failed.
Click to expand...
Click to collapse
No model name, no build version... with amount of details you provided you won't get an answer.
afyden2018 said:
I bought this watch for my child, but when I want to use another tracking program other than the se tracker program, I cannot change the ip number. Can you help me with this? Since I couldn't find any more resources about g4h, I asked for help under this topic. The link to the watch I actually bought is below. If I can change the server of the watch with the sms sent to the watch, maybe I can switch to an application other than tracker. Engineering mode opens but I don't know how to do it.
Find my kids application server: pw,123456,ip,tcp.findmykids.org,8001#
https://tr.aliexpress.com/item/1005002878573395.html?spm=a2g0s.9042311.0.0.1cc04c4dVwpHt3
Click to expand...
Click to collapse
What you want is not possible.
Findmykids.org and SE Tracker do not speak the same protocol, it is not the matter of simply changing IP.
Also findmykids.org service running on watch is for Android 5.0 and up, while this watch runs on Android 4.4.
By the way: location reporting IP is stored in /custom/config. You can remount storage it in read-write mode and change it, but as I said earlier this is pointless. What you need is Android Service running on the watch, reporting to findmykids.org in data format expected by this site.
here is some detail for this watch. it comes NO band name.
chipset,
processor : 0
model name : ARMv8 Processor
BogoMIPS : 52.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 1
model name : ARMv8 Processor
BogoMIPS : 52.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Hardware : Spreadtrum SC9820e
Revision : 0000
Serial : 0000000000000000
re : Spreadtrum SC9820e
Revision : 0000
Serial : 0000000000000000
getprop | grep ver
[persist.sys.android.version]: [9.0]
[ro.build.version.release]: [8.1.0]
[ro.build.version.sdk]: [27]
[ro.build.version.security_patch]: [2019-11-05]
kernel info.
Linux localhost 4.4.83+ #1 SMP PREEMPT Fri Aug 20 17:30:34 CST 2021 armv7l
install the SuperSUInstaller apk file and launched it .
adb logcat says the connection was denied by SElinux. also there is no cmd_services running when "enable wifi eut". which "superSUinstaller" needs it to run on.
also by dig the system, it seems like the SELinux was misconfigured somehow.
does it work on android 9
because i try to root LEMFO LEMP
and got this message
DMN_C16_TFT_PIX32:/ $ am start --user 0 -n ru.eisaev.supersuinstaller/.MainActivity
Starting: Intent { cmp=ru.eisaev.supersuinstaller/.MainActivity }
DMN_C16_TFT_PIX32:/ $ am start --user 0 -n eu.chainfire.supersu/.MainActivity
Starting: Intent { cmp=eu.chainfire.supersu/.MainActivity }
Error type 3
Error: Activity class {eu.chainfire.supersu/eu.chainfire.supersu.MainActivity} does not exist.
i realy need solution for root this Sh*t devices
Great tutorial!
I bought polish Garett kids 4g and I want to play with it a little bit (it's not only for kids but also for daddies ).
1. I installed WhatsApp (KitKat version) and it works great. Surprisingly I can see it in the default launcher next to "steps" ("kroki") and "QR code". How it is possible and how to do it with other apps?
2. When I change watch faces I can see a little weather icon on the preview. But when I choose one there is no weather. Do you know what weather application is missing and how to force it to show weather on the watch face?
Thanks alot! I asked for the firmware from chinese's seller, and I had got a link:
QQ邮箱中转站文件
mail.qq.com
ivvitan said:
Thanks alot! I asked for the firmware from chinese's seller, and I had got a link:
QQ邮箱中转站文件
mail.qq.com
Click to expand...
Click to collapse
Hello,I have a watch of the same model, but I don't know how to brush it. I tried SPD_ Research_ Tool, the driver is also installed. I tried to insert the data cable when the watch is shutting down, but the Tool reported an error "user cancel". Can you tell me how you brush the watch?Thanks.
Is there a possibility of putting an android later than android 4.4 in these watches?
Surely there must be a dev on xda who could port a rom to this watch.. anyone ?
bbkr said:
State of market
Do NOT buy this watch. It looks like excellent value for money, but much modern H1 / W5 series with Android 9 and full Play Store just hit the shelves on AliExpress for almost the same price.
If mine arrives I'll create separate thread about them.
Brands
My specific watch that I used to experiment with is G4P, bought straight from Chinese factory:
View attachment 5407991
However almost everything from this thread applies to any watch running on SP9820E SoC, like G4E or G4H series.
Those watches are also often rebranded and sold as: Kinyo, Garett, Lemfo, Wonlex, Locon and many more.
Just check in spec if it is running on 9820E chip and you are good to go.
Reasons for modding
Those watches by default use very limited set of very simple applications presented in most ugly launcher and icon sets achievable by humans.
You can not install any extra applications and what you get from the box is very disappointing.
Also they are meant to be managed exclusively by corresponding phone application like SeTracker 2 (or rebrands like Garett Tracker),
which means you need to send your data to Chinese service and use WeeChat for chats/video calls, whether you like it or not.
This is true shame, because SP9820E is quite powerful hardware, here is GeekBench score.
Do not be fooled by oversimplified stock software - you can run pretty much any "real" application on it.
Luckily because those watches use Android under the hood you can transform them to something more feature-rich and more pleasant to use.
Android KitKat is NOT Android Wear
Those watches use Android 4.4, codename KitKat. Just like old phones. Please do not confuse it with Android Wear operating system and do not try to use applications built for Android Wear. Whatever you use must be Android 4.4 compatible, anything newer won't install at all. Android on this watch is heavily modified, lacks some components and you will run into many crashes or weird behaviour. Sections below will help you to navigate through those issues.
Also applications back in KitKat era were not designed with watch screens in mind, so expect bad interface scaling, not accessible buttons and huge or microscopic fonts.
How to install any application from stock Launcher?
Get application *.apk file from trusted site.
Set up Bluetooth connection between your watch (in Settings -> More -> Bluetooth) and computer / phone. Do not use macOS computer, it does not work. Android phone seems to be most compatible.
Upload *.apk file to watch using Bluetooth.
On watch go to Settings -> Tools -> File explorer and select Local -> bluetooth. Click on *.apk file and install it.
Installed application will not be visible from stock Launcher. So I really recommend installing another Launcher as first application.
Launcher
I use Nova Launcher. You need 5.5.4 version, this is the last one compatible with Android 4.4.
Once you install it using installation method described above press power button and it should prompt you which Launcher to use. Select Nova.
And enjoy freedom. It is also surprisingly fast and does not consume more battery than stock one.
If you have Nova Pro purchased you can activate it in two ways:
Use APK extractor on phone where you have Nova Prime activation installed. Dump license application to phone storage and install it the same way as launcher itself. But beware - it must be 2017 or earlier activation package. You cannot dump it from modern phone.
Search for nova_launcher_prime_v2017_full.apk and install this fake license. This is questionable way of activating it. But if you do not have old phone with old license preinstalled you have no other options. I think that if you own legal license on Play Store you will do no harm to developers this way.
Tips:
To avoid being asked for launcher when pressing power button you can disable stock launcher (requires root) through ADB shell: su, and then pm disable com.sgtc.launcher.
This firmware has very aggressive power management and you may notice lag when waking up watch after longer period of time. This is because Nova got killed by operating system and must start from scratch. To avoid it convert Nova launcher to system application (requires root). This can be done using Link2SD application. Open it, search for Nova, click on Nova, click triple dot menu menu and you will have option to convert to system. Remember to have default launcher or ADB enabled while doing this, because you will need one of those to invoke reboot.
Lock screen using button (broken, workarounds available)
If you have two Launchers power button will always prompt for Launcher when pressed on unlocked screen. You cannot change it without root, there is something modified under the hood and even Nova cannot set itself as default Launcher.
The workarounds are to lock screen using icon:
Add Nova action widget and set it to lock screen.
Add Power Toggles widget and add lock screen button to it.
Settings (partially works)
Settings are very simplified compared to stock Android 4.4. I've tried to install stock AOSP Settings APP but it fails. A lot of "hidden settings" applications allows to invoke deep buried panels like HotSpot or lock screen patterns configurations. Tedious job, lot of crashes along the way.
You can also:
Go to engineering mode by dialling *#*#83781#*#*.
Go to Developer Options by using Developer Options Shortcut application.
Status bar (broken, workaround available)
It does not work on any launcher (I tested a few beside Nova). Probably it was so heavily modified that API is no longer compatible. It cannot even be invoked by ADB service call statusbar 1.
The good replacement is Power Toggles, which allows to add widgets with battery level, fast volume profiles switching, enabling Wi-Fi, Bluetooth. Pretty much everything you used status bar for. Except cellular signal strength. I use version 6.0.4.
Tips:
Just as for launcher - aggressive power management will close it as inactive user application after short period. So because it is invoked every time screen is turned on best way to reduce screen wake up time is to convert Power Toggles to system application (requires root). This can be done using Link2SD application. Open it, search for Power Toggles, click on Power Toggles, click triple dot menu menu and you will have option to convert to system. Reboot watch.
You can set different battery colors, which makes it easier to use on small screen. I has mine set up to red (below 20%), yellow (20-80%) and green (above 80%).
You can set how frequent battery indicator is refreshed. By default it is quite laggy.
To get something looking like real status bar disable home screen margins in Nova launcher. Check my screenshot below for final effect.
Notification bar (broken)
Same deal as with Status bar - probably it was so heavily modified that API is no longer compatible with launchers.
You can open notification list service directly from Nova action. But you cannot manage it in any way (like cleaning old notifications) so it is pretty useless long list of accumulated trash.
I haven't found any good replacement.
Luckily Nova launcher notification dots work on applications icons and you can pretty much quickly figure out what just pinged you.
Clock time picker (broken)
By default you manage alarm clocks on this watch through phone application. But if you open on watch stock Android clock app you will see that you cannot set time, only set alarms on and off. Probably some Android component is missing. No fix or workaround yet. Also beware, because once you add alarm using APP on the watch there is no way to remove it - no option in app itself and SeTracker sees only first 3 of them. You will need to clean app data from ADB.
Power management (work in progress)
There are no options to keep app running in background. I'm still searching for good power management app replacement to keep things like WhatsApp or other services running.
For controlling:
screen delay (by default set to annoyingly short 10 seconds)
fine screen brightness
you can use buttons on Power Toggles widget. Once you set it to your preference widget can be removed and settings are remembered after reboot.
Screen rotation (tricky, broken)
Accelerometer is mounted 90 degrees clockwise and stock applications have this tilt compensation hardcoded into them.
This really dumb design has bad consequences:
If accelerometer rotation (auto-rotation) is enabled all "real" applications will think "up" is on the side where power button and flashlight is.
If accelerometer rotation is disabled most "real" applications will stay in fixed portrait orientation (also called user rotation) but some may still rely on accelerometer. The reason is that you can not fully disable accelerometer. Disabled only means "not taken into consideration unless explicitly asked for". And a lot of applications (mostly camera-related) still try to be user friendly and rotates screen the wrong way.
If you mess something up you can lock Screen Rotation again by adding such button on Power Toggles widget and using it.
Or if you have root:
disable accelerometer rotation: settings put system accelerometer_rotation 0
set user rotation to portrait mode: settings put system user_rotation 0
Start sound
Requires root.
First remount /custom in read-write mode: mount -o rw,remount /custom.
Then remove /custom/movies/bootsound.mp3.
Apps recommendations (please share yours)
A lot of "phone" applications work out of the box, assuming you get Android 4.4 compatible versions of them. You can install them the same way as launcher or through ADB. My set is:
Simple Keyboard is perfect for this watch. Disable symbols, set height to 150% and typing will be really comfortable and fast.
Power Toggles. Must have to compensate broken status bar and missing settings.
WhatsApp. Communication freedom. Pretty much you can stop here if you want this watch to be simple device for kid.
VLC for listening audiobooks (although interface does not scale well, looking for something better).
Wulkanowy (polish e-grade book with lessons plan, homework, etc. I assume a lot of people from Poland will come here because of Garett popularity so I'm mentioning it).
Solid Explorer. Built-in explorer is very castrated and crashes often when other apps try to use it (for example to select icon picture or file to share). Solid Explorer is stable and has a lot of built-in format viewers. Unfortunately one cannot run FTP server using it - button to start is off the screen. Bug reported, I hope it will get fixed soon.
OurGroceries. Excellent shopping/checkbox list that can be synchronized between various devices. Very useful to make list of things kid should take to school for example.
Diki. Online dictionary with simple interface that scales very well on this small screen. Translations are straightforward, without tons of magic grammar shortcuts. Allows to listen for words pronunciation.
Stock apps that are preinstalled and work OK:
Dialer
Contacts (you can even import cards from vcf file)
Flashlight
Looking for:
CalDav / CardDav sync (unfortunately there is no accounts management in API and most apps adding Dav support to Android crash).
Call blocker that will reject everything outside contacts list. To protect kid from scammers, marketers and other unwanted calls.
Known to fail:
SMSes. Can be sent but watch management API interrupts receiving to capture push control commands. Installing any other SMS application and setting it as default one breaks watch management from phone application.
WhatsApp. Camera during video calls is upside down.
Google Play Services. Instant crash.
Google Chrome 81. Crashes after few seconds of activity. For all apps that need SystemWebView component to work try Bromite replacement. However in KitKat WebView was not an application and Developer Options has no way of choosing default one. So it may fix very small amount of applications which are self-aware of different WebViews providers.
Google Calendar. Needs working Google Play Services.
F-Droid store. Crashes randomly and may require patience to install anything.
OpenSync. Cannot add any DAV account due to SSL crash.
Wikipedia. No articles can be displayed. Probably due to their latest TLS 1.2 mandatory API switch. However simply bookmarking Wikipedia in Bromite browser works just fine.
ADB and USB debugging
By default those watches are sold with charging cable only, it does not have signal pins. Your life will be a lot easier if you will be able to transfer files directly from your computer to watch and use ADB to do stuff. You can check cable dimensions here: https://allegro.pl/oferta/magnetyczny-kabel-zasilajacy-do-garett-kids-xd-10972606997 . Remember - it must have four pogo pins.
Connecting with cable is straightforward just like when connecting regular phone. Just be aware of two things:
Magnets are not strong enough to press four pins to contact pads. If you have trouble connecting try pressing magnet plug to watch firmly.
This is Android 4.4, so you need ancient knowledge. Like for example there is no "cmd" command available in ADB shell. Some command line switches are very different from what is being used today. Etc.
You can set USB to file transfer mode. Android File Transfer desktop application works perfectly and transfers are surprisingly fast. Probably it is the most convenient way to transfer applications, audiobooks and music to this watch.
Root
Based on https://github.com/eisaev/SuperSUInstaller process.
Install Developer Options Shortcut. Installation method is irrelevant. You can do it the same way as Launcher installation described above. Or if you already have more advanced stuff installed you can use an file transfer method and any file manager to do it.
Run Developer Options Shortcut and enable USB debugging.
Install SuperSU Installer. Again installation method is irrelevant.
Run SuperSU Installer. Wait for Hello World message and go back to Launcher.
In Local files on the watch there should be new SuperSU Manager APK generated. Install it but do not open.
Restart watch.
Disable WiFi and Bluetooth.
Connect USB cable.
Open dialer and enter *#*#83781#*#*. Engineering settings will open.
Go to CONNECTIVITY tab.
Click Start Service.
Click Wifi eut and confirm popup.
run adb shell on your computer
in shell enter: am start --user 0 -n ru.eisaev.supersuinstaller/.MainActivity
Wait for Hello world message on watch screen.
In shell enter: am start --user 0 -n eu.chainfire.supersu/.MainActivity
On watch screen SuperSU Manager should pop up and offer binary update. Choose Normal mode.
Restart watch.
Open SuperSU Manager. Method is irrelevant, can be clicked from Nova launcher or invoked from ADB like in 16.
Go to Settings and set Default access to Grant.
Confirm that you have root access by going to ADB shell and invoking: su
Clean up all files generated by SuperSU Installer from Local directory on the watch.
This method slightly diverges from original because users are different and because SuperSU Installer crashes when leaving to desktop using home button. Making it impossible to go from step 8 to 9 described in original method.
So for Installer and Manager to see each other at the same time you need to do this weird loop: install Installer which generates Manager which you can install prematurely to be able to later fire up both Installer and Manager at the same time from ADB without using watch home button.
Kudos for eisaev for discovering this process and building SuperSU!
My result
Home screen of Nova launcher:
View attachment 5420419
Power Toggles bar on top emulates status bar. It handles battery info, fast volume and brightness settings and connectivity settings.
Two Nova action widgets added on the bottom - one for power off, second one for applications list.
Application list:
View attachment 5420423
Nova allows to hide applications, so I used it to hide everything kid is not supposed to mess with. Like settings of various sort.
Many apps like Calculator or Gallery I've extracted directly from my old Android 4.4 phone.
Keyboard:
View attachment 5420427
Simple Keyboard is far more usable and fast than stock keyboard. Kid has no problem with typing on it. However just as on stock keyboard you have to type blindly and occasionally minimize keyboard to verify what you've typed.
Please contribute
If you have found solution to any of mentioned problems, encountered new problem on your own or just found good app please share in comments.
Click to expand...
Click to collapse
thank for this tutorial