Upgrading Glory Star Nebula 21.5" Tablet to basic Android Rom

Search This thread

ramtheram

Member
May 19, 2022
24
0
I have the 4s, what do you have?
Here's my build id which is totally different than yours
Code:
[ro.build.display.id]: [MTB-818 V1-2 C002B001-20210827.1233]
[ro.product.model]: [rk3288_mtb818]
I have 5s actually. The fact that these aholes lock everything for their users even after the hefty price is horrible.
I am gonna put a reward out for a good tutorial on how to flash these nebula tablets and make simple android os run on them.
 

.amb

Member
Feb 6, 2022
27
0
First of all, a huge thanks to everyone who put so much time and expertise into this. I've worked through the step by step from #355 and just about have it all working. And while I've used Macs and iPhones for years, I'm a complete novice to android, so thanks for the really good instructions!

Two issues that I hope can be solved. First, whenever I turn off or restart the tablet, I'm given the launch option of either Lawnchair 2 or Quickstep. I select lawnchair, and hit "always", but this option comes back when I restart. Why doesn't it bypass this? I've already deleted echelon_fit updater, and I've already tried delete Quickstep (it won't let me) nor can I find a setting so it doesn't come up by default.

Second, why does the echelon opening screen come on when I restart? Again, I've already removed echelon_fit updater.

Thanks for the help.
 

ramtheram

Member
May 19, 2022
24
0
First of all, a huge thanks to everyone who put so much time and expertise into this. I've worked through the step by step from #355 and just about have it all working. And while I've used Macs and iPhones for years, I'm a complete novice to android, so thanks for the really good instructions!

Two issues that I hope can be solved. First, whenever I turn off or restart the tablet, I'm given the launch option of either Lawnchair 2 or Quickstep. I select lawnchair, and hit "always", but this option comes back when I restart. Why doesn't it bypass this? I've already deleted echelon_fit updater, and I've already tried delete Quickstep (it won't let me) nor can I find a setting so it doesn't come up by default.

Second, why does the echelon opening screen come on when I restart? Again, I've already removed echelon_fit updater.

Thanks for the help.
well we should thank you for the instructions.
I tried your instruction and have not been able to remove the Echelon and the updater completely. I used your commands to uninstall them through remote wifi adb shell, and it says success, but then they are still there in the guest account and I can not install the one I got from playstore
 

.amb

Member
Feb 6, 2022
27
0
well we should thank you for the instructions.
I tried your instruction and have not been able to remove the Echelon and the updater completely. I used your commands to uninstall them through remote wifi adb shell, and it says success, but then they are still there in the guest account and I can not install the one I got from playstore
I wish I could take credit for any of the good work in this thread, but I've really been a consumer of it.

I did learn a few things as I worked through the #355 step-by-step
1. the first wifi ADB app didn't work. I had to uninstall it and pull down a different one. (the second one I used, that worked, had the "trusted" symbol next to it on Aptoide).
2. I had to run the commands in step #41 twice. I don't know why they didn't work the first time--I carefully checked that I typed them in correctly. But they did work the second time.

I hope someone can help me with my two questions in my post #442 above.
 

ramtheram

Member
May 19, 2022
24
0
I wish I could take credit for any of the good work in this thread, but I've really been a consumer of it.

I did learn a few things as I worked through the #355 step-by-step
1. the first wifi ADB app didn't work. I had to uninstall it and pull down a different one. (the second one I used, that worked, had the "trusted" symbol next to it on Aptoide).
2. I had to run the commands in step #41 twice. I don't know why they didn't work the first time--I carefully checked that I typed them in correctly. But they did work the second time.

I hope someone can help me with my two questions in my post #442 above.
As fpr your first question, i never get those. I jave launchair and it automaticaly goes to it without asking. Maybe you have not set it as default. I have done that.
For the second one the animation is part of the rom that echelon has installed on those tablets. It is the splash screen. If you want to change it, you need to flash the rom to another basic android. That is what i am dying to figure out
 

.amb

Member
Feb 6, 2022
27
0
As fpr your first question, i never get those. I jave launchair and it automaticaly goes to it without asking. Maybe you have not set it as default. I have done that.
For the second one the animation is part of the rom that echelon has installed on those tablets. It is the splash screen. If you want to change it, you need to flash the rom to another basic android. That is what i am dying to figure out
thanks for the info on the second question about the echelon splash screen. I learn more about the android environment every day.

I don't understand what's going on, though, with the continual launcher choice. It only happens when I restart the tablet, not if it's continually running--Lawnchair is working as the launcher/Home Screen for that. When I look at the settings for lawn chair, it's set as the Home app, but the defaults are greyed out; it only says "some defaults are set". I can reset those defaults and set Lawnchair again as the home app, but that's the only setting I can set for it. Maybe I'm missing something?
 

.amb

Member
Feb 6, 2022
27
0
Side-load Peloton / Qdomyos Zwift on Echelon EX-4S+ Bike from Costco

First of all a VERY BIG thank you to everyone in this thread that made possible what I am about to re-post. It took me two days to go through this data, time and again to gather all of the great bits of information I needed to modify my Echelon EX-4S+ from Costco. As of last night, complete success on all fronts. I am re-posting everything I read previously and thanks must go to the gurus in the post who actually researched and created most of the information.

This post is to consolidate the data in a concise format for those who come after me seeking to achieve the same goal. (If there are any corrections or modifications, please do not hesitate to comment).

These instructions do not have to be followed to the letter. There are optional methods, applications defaults, tools and hardware differences that can be used to achieve the same end-result. Read through this entire post if you would like to review the alternatives. This was just my way of doing things.

THANKS AGAIN!

Hardware:
EX-4S+ Echelon Bike (Costco Exclusive)
Glorystar Nebula Tablet 15.6” (1920x1080 res)
MacBook quad-core i7, 16G RAM, running Apple iOS

Software
Android OS Ver # 9
Kiosk Lock App: Startos XXX
MacOS Monterey v12.2.1

How to:
Over-ride kiosk lock app for Echelon and side-load Peloton App, Qdomyos Zwift, Netflix etc

Qdomyos Zwift App is able to communicate via bluetooth with the bike and with Peloton Account via wifi/software to provide integration to both Apps with feedback on cadence, resistance and Peloton adjusted resistance


Admin Control of the Tablet
1- On first boot, allow Echelon App to load, configure wifi (you will be prompted to do so)
2- Do NOT allow Echelon software upgrade to run (Choose “NO” once option is automatically presented during boot)
3- Once wifi is connected (via your configuration), within the Echelon App, Tap on the bottom, right corner of the screen fiver (5) times, you will be prompted to entire a password. Enter password “1085” and click “Okay”. This will take you into the Android Home Menu.

New Boot System
5- Next we'll want to replace the Home app that is currently in your Default app setup. This configuration previously launched the Echelon app at startup.
6- Go to “About Tablet” and click on the build number 5 times to enable your Dev options. (You will see a confirmation pop-up at the bottom of the screen indicating that you are in Dev mode). Using this menu, you'll need to allow installs from unknown sources, USB debugging, etc.
7- Go to About Tablet > Android Version . Click on "Android Security Patch Level". This will launch a browser window.

Installing new Home App
8- You will need to download a new Home App to boot the tablet. Using the browser go to the Aptoide website, search for Lawnchair 2 App and install the APK.
9- Once you have successfully installed Lawnchair 2, go to App Notifications > Default Apps > Home App and choose Lawnchair 2 as your default boot App. Once you click this icon, it will launch your new HOME screen. From here you can use the default browser (Lightning) continue installing additional apps.
10- Using your Lightening browser, head back to the Aptoide website to install the Aptoide App so that you can download future APKs using the installed APP interface. (An alternative website for APKs is APKMirror).

Booting directly to Lawnchair 2
11- In order for the tablet to boot directly into Lawnchair 2 on the next reboot, you will have to uninstall the Echelon App. Go into Settings > Apps, click on the Echelon Fit App and uninstall it. (The app cannot be open or running in the background prior to uninstall).
12- Using the Aptoide App, Download and Install Peloton App, Netflix App, Amazon App Store App, Wifi ADB (as needed)
13- Reboot the Tablet

Installing Domydos Zwift for Peloton and Echelon Bike integration
14- To install QDomydos Zwift on Lawnchair 2 we will have to use a work-around as it will not run if downloaded from the Amazon App Store App or via APK download.

Installing Android EMU on Mac iOS (My personal choice. Android devices, Windows with EMU can be used as an alternative)
15- From a MacBook Laptop, use your browser to go to the Bluestack website and install Bluestack so that you have a suitable Android emulator on your laptop to work with. Alternatively you can use an Adroid device to perform the same functions below.
16- Using the Google PlayStore App found in Bluestack, Purchase, download and install QDomydos Zwift within the emulator. You will need to use a legitimate Google account with associated payment option (PayPal). (App cost ~ USD $6.00)
17- Next using the Google PlayStore App, download and install APK extractor app
18- Use the APK extractor app to create an APK file based on your previously installed QDomydos Zwift. Move/Copy this file from the emulator to your Download directory on your MacBook. Now you have a suitable APK that you can transfer to the Echelon tablet that will install properly on Lawnchair 2.
19- We will use X-Plore WiFi Server installed on the Echelon Tablet and accessed through web browser on the MacBook to transfer the QDomydos APK to the tablet.

Configuring Transfer App (X-Plore Wifi Server) on Tablet
20- Now using the Tablet, Run the Amazon App Store App to install the X-Plore App. (You will need a legitimate Amazon account and payment source to do so). Alternatively you can use the Aurora Store. X-plore may be free using this option also.
21- Run the X-Plore app and start a new wifi server. Copy the IP address and port of the server.

MacBook File Transfer
22- Going back to the MacBook and using a web browser, enter the Tablet’s X-plore IP address/port in the URL tab. Once connected, transfer the QDomydos APK file from your MacBook download folder to the tablet. Save in the downloads folder on the tablet. (You will be prompted at this point to pay for the X-Plore App you installed on the tablet. (Cost ~ USD $4.00 - $6.00 and paid through the Amazon account on the Tablet).
23- Going back to the tablet, Find QDomydos APK on the tablet and install it.
24 - In Settings>Apps and Notifications>QDomydos App, ensure Battery optimization is turned off, as the default setting will cause the App to behave unpredictably (crashes etc).
25- You can configure which “Tiles” you would like displayed on the QDomydos App screen also for Cadence, Resistance, Heart rate etc.
26- In the QDomydos settings menu, find the section on Peloton account information and enter your Peloton user name and password. Click the OK button on each menu item to confirm.
27- Restart the QDomydos app for changes to take effect.

Running Peloton App and QDomydos App in Split screen mode
28- You will need to activate resizable Apps mode in the Android Tablet in order to enable Split-screen for the Peloton and Qdomyos Zwift Apps. Using the “Settings” App in Lawnchair 2, go into > System > Developer Options section, scroll to the bottom of the list and enable "Force activities to be resizable”.

Removing Tablet Admin Control pre-configured by Echelon
29- Start by removing Admin control for the tablet. Echelon installed an Echelon 21 Updater App that has to be deleted. It has admin rights which limits functionality/management over the tablet. It cannot be uninstalled by default.
30- On the tablet, run WiFi ADB which you previously installed. Copy the IP address/Port. You will need this to remotely connect to the Tablet from your MacBook.
31- On your MacBook run the Bluestacks EMU.
32- Download and install the Remote ADB app using the Google store (Its free)
33- Run the App and enter the IP address/port for Wifi ADB on your tablet to execute Admin commands remotely
34- To allow for removal of the Echelon 21 Updater App, type the following commands in Remote ADB

dpm remove-active-admin --user current com.echelonfit.echelon_21_updater/.DevAdminReceiver <ENTER>

35- You should receive the response. “Success: Admin removed ComponentInfo{com.echelonfit.echelon_21_updater/com.echelonfit.echelon_21_updater.DevAdminReceiver}”

36- Next use the tablet to uninstall the Echelon 21 Updater App. using the Android Settings > Apps in the Settings menu. (You will see that the Uninstall option is no longer greyed out).
37- Reboot the Tablet for changes to take effect

Menu Button, Nav Bar Re-activation for Split Screen
38- With this version of the bike (EX-4S+ / Costco), Top dropdown menu and Menu button options (Home button, Back Button etc) have all been removed from the Tablet and must be re-activated in order for you to properly interface with the Tablet and to utilize split screen
39- On the Tablet, run WiFi ADB which you previously installed. Copy the IP address/port so that you can control the Tablet remotely from your MacBook.
40- On your MacBook run the Bluestacks EMU.
41- Run Remote ADB again, connect to the Tablet (Wifi ADB) and enter the following commands

su <ENTER>
settings put global policy_control null* <ENTER>
settings --user 0 put secure user_setup_complete 1 <ENTER>

42- Reboot the Tablet for the changes to take effect.
43- In the Settings menu of the Tablet, go to > display > statusbar/navbar switch to "open”. You should now have your dropdown menu and Nav bar buttons at the bottom of the screen enabled

Split Screen Mode - Peloton / QDomydos
To use Pelaton and QDomydos Swift Apps in split screen mode

44- Run QDomydos App first
45- Click Square button on bottom menu bar of the Tablet to QDomydos minimize App
46- Run Peloton App
47- Click Square button on bottom menu bar of the tablet to minimize Peloton App
48- Click the Peloton logo at the top, middle of the Peloton app to bring up split-screen menu dropdown option. Click to enable it
49- Re-size Peloton screen as you see fit (drag app screen from the right-middle of the App)
50- Click on running QDomydos App to bring it into active split screen mode
51- Ensure the Blue LED on the Bike is solid (not blinking), the Bluetooth icon on the App is solid (not greyed-out) and that you are seeing readings on the QDomydos App tile sections
52- Start your exercise video on the Peloton App
53- A popup screen will appear on the QDomydos App asking to activate Peloton sync. Wait until the video on Peloton App goes to 00:00 time to start, then click yes at the same time on the QDomydos App
54- click on Peloton app to control volume if required

Now Ride! :)
Thanks again for taking the time to write out these steps. I got everything to work yesterday, though didn't try riding with qz and Zwift until this morning. I have the exact same setup as you, except I have a MacBook Air 1.6 GHz Dual-Core Intel Core i5 instead of your Mac. Everything else is identical. I'm hoping you can help me with this

I can run qz just fine, and it reads the bike and my HR monitor. When I connect to Zwift, Zwift will find the tablet but no readings are registering. I also get the "no signal" message frequently. I contacted Roberto Viola (qz creator) and he's been very responsive, but what he's said is that this tablet's particular BT chipset might be too weak to sent out the signal to my Mac. Just for reference, everything works fine running qz on my iPhone with the same bike and Mac.

Before I give up, I'm wondering whether I inadvertently entered a wrong setting into qz--I copied over from what was in my iPhone.

Any suggestions? Is it possible for someone who's got qz and Zwift running on their echelon to list out all pertinent settings? Or any other suggestions? This is my first time working in an android environment, though I'm a longtime apple user. So it's quite possible I've made some other newbie mistake. Thanks.
 

.amb

Member
Feb 6, 2022
27
0
Just have a question for everyone. I did all the mods, they are working great even go zwift to work with the bike (Qzwift and zwift companion split screen on bike tablet, zwift on ipad). But now i'm just wondering what happens if the echelon app is updated. Would it erase the whole tablet and all the mods and just leve the echelon app, or does it just lock the tablet that no other mods can be done. Thanks in advance.
@CT416 -- I don't know if you tried installing the echelon app, but it works just fine, and as others have said, won't update and wipe out and relock the tablet.

I have a question for you, though: the only thing that isn't working for me is that I can't get Zwift and qz working. qz works great, connects to BT and reads my bike's metrics and HR monitor. But while Zwift sees the tablet, no metrics are registering and I get "no signal" on the Zwift power pair. I contacted Roberto Viola and he says the tablet's BT chips don't have the capacity. But since you got yours working, I'm wondering if I set a setting wrong in qz.

Did you change any qz settings after installing qz or did you run it just as-is? And if you changed anything, can you list those changes? Thanks.
 

.amb

Member
Feb 6, 2022
27
0
@CT416 -- I don't know if you tried installing the echelon app, but it works just fine, and as others have said, won't update and wipe out and relock the tablet.

I have a question for you, though: the only thing that isn't working for me is that I can't get Zwift and qz working. qz works great, connects to BT and reads my bike's metrics and HR monitor. But while Zwift sees the tablet, no metrics are registering and I get "no signal" on the Zwift power pair. I contacted Roberto Viola (who continues to be incredibly responsive) and he says the tablet's BT chips don't have the capacity. But since you got yours working, I'm wondering if I set a setting wrong in qz. I copied over settings from qz on my iPhone, which works just fine.

Did you change any qz settings after installing qz or did you run it just as-is? And if you changed anything, can you list those changes? I'm wondering if I'm making some mistake because the android environment is completely new to me.Thanks.
 

CT416

New member
Mar 24, 2022
2
1
@CT416 -- I don't know if you tried installing the echelon app, but it works just fine, and as others have said, won't update and wipe out and relock the tablet.

I have a question for you, though: the only thing that isn't working for me is that I can't get Zwift and qz working. qz works great, connects to BT and reads my bike's metrics and HR monitor. But while Zwift sees the tablet, no metrics are registering and I get "no signal" on the Zwift power pair. I contacted Roberto Viola (who continues to be incredibly responsive) and he says the tablet's BT chips don't have the capacity. But since you got yours working, I'm wondering if I set a setting wrong in qz. I copied over settings from qz on my iPhone, which works just fine.

Did you change any qz settings after installing qz or did you run it just as-is? And if you changed anything, can you list those changes? I'm wondering if I'm making some mistake because the android environment is completely new to me.Thanks.
Yes. i did play around with it and changed a few settings. Try turning on "zwift workout/erg mode" as well as "cycling cadence sensor (peleton compatibility)". I think that was it. give it a try and see if it works. Just to be clear i got Qz and Zwift companion running on the Echelon tablet, split screen, and on my ipad i have the actual Zwift app running. Zwift won't run directly from the Echelon tablet.
 

ramtheram

Member
May 19, 2022
24
0
Okay, I finally figured it out. I knew it couldn't be something with your commands. I did some searching around and came across something that mentioned you need to be signed out of the app you are trying to uninstall. Of course as soon as I signed out of the echolon app on the tablet it worked. Thanks again for all your help.
hello everyone, I am following your communication here since I have the exact same problem. I have root checker installed and says I got root access after adb shell su. and I have forced stop both the updater and the echelon app. yet I am still unable to remove the admin from the updater on my 5S and still getting this:
1653713857540.png

very similar to @ericw0001 .
any thoughts and advice?
I know @ericw0001 said signing out of the app. but where? would that be the forcestop?
 

ramtheram

Member
May 19, 2022
24
0
Just have a question for everyone. I did all the mods, they are working great even go zwift to work with the bike (Qzwift and zwift companion split screen on bike tablet, zwift on ipad). But now i'm just wondering what happens if the echelon app is updated. Would it erase the whole tablet and all the mods and just leve the echelon app, or does it just lock the tablet that no other mods can be done. Thanks in advance.
I would love to know how you got zwift installed and working. did you get it from aptoide? or any other app market?
 

badabing2003

Senior Member
Sep 17, 2012
808
580
hello everyone, I am following your communication here since I have the exact same problem. I have root checker installed and says I got root access after adb shell su. and I have forced stop both the updater and the echelon app. yet I am still unable to remove the admin from the updater on my 5S and still getting this:
View attachment 5624615
very similar to @ericw0001 .
any thoughts and advice?
I know @ericw0001 said signing out of the app. but where? would that be the forcestop?

The Error Says: Attempt to remove non-test admin
1653740165759.png


If android:testOnly flag is not set to test, then you cannot remove the admin privileges.

To check if it is actually set or not and to discover the intent, you'd have to look into the package's manifest file.
You can use apk extractor and get the apk of the app, transfer it to your pc, and use apktool to unpack the package.
Look into the unencrypted AndroidManifest.xml file

The key parts are
<receiver android:label="@string/app_name" android:name="com.echelonfit.echelon_21_updater.DevAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">

And you should find android:testOnly="true"

For reference here's my manifest file.

Code:
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="29" android:compileSdkVersionCodename="10" package="com.echelonfit.echelon_21_updater" platformBuildVersionCode="29" platformBuildVersionName="10">
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
    <uses-permission android:name="android.permission.RECOVERY"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
    <uses-permission android:name="android.permission.REBOOT"/>
    <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
    <uses-permission android:name="android.permission.DELETE_CACHE_FILES"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <application android:allowBackup="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:exported="true" android:extractNativeLibs="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:testOnly="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true">
        <provider android:authorities="com.echelonfit.echelon_21_updater.GenericFileProvider" android:exported="false" android:grantUriPermissions="true" android:name="com.echelonfit.echelon_21_updater.GenericFileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_provider_paths"/>
        </provider>
        <receiver android:label="@string/app_name" android:name="com.echelonfit.echelon_21_updater.DevAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">
            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
                <action android:name="android.app.action.PROFILE_PROVISIONING_COMPLETE"/>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
            <meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin"/>
        </receiver>
        <activity android:exported="true" android:name="com.echelonfit.echelon_21_updater.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.HOME"/>
            </intent-filter>
        </activity>
        <provider android:authorities="com.echelonfit.echelon_21_updater.crashlyticsinitprovider" android:exported="false" android:initOrder="90" android:name="com.crashlytics.android.CrashlyticsInitProvider"/>
    </application>
</manifest>
 

ramtheram

Member
May 19, 2022
24
0
The Error Says: Attempt to remove non-test admin
View attachment 5624803

If android:testOnly flag is not set to test, then you cannot remove the admin privileges.

To check if it is actually set or not and to discover the intent, you'd have to look into the package's manifest file.
You can use apk extractor and get the apk of the app, transfer it to your pc, and use apktool to unpack the package.
Look into the unencrypted AndroidManifest.xml file

The key parts are
<receiver android:label="@string/app_name" android:name="com.echelonfit.echelon_21_updater.DevAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">

And you should find android:testOnly="true"

For reference here's my manifest file.

Code:
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="29" android:compileSdkVersionCodename="10" package="com.echelonfit.echelon_21_updater" platformBuildVersionCode="29" platformBuildVersionName="10">
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
    <uses-permission android:name="android.permission.RECOVERY"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
    <uses-permission android:name="android.permission.REBOOT"/>
    <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
    <uses-permission android:name="android.permission.DELETE_CACHE_FILES"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <application android:allowBackup="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:exported="true" android:extractNativeLibs="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:testOnly="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true">
        <provider android:authorities="com.echelonfit.echelon_21_updater.GenericFileProvider" android:exported="false" android:grantUriPermissions="true" android:name="com.echelonfit.echelon_21_updater.GenericFileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_provider_paths"/>
        </provider>
        <receiver android:label="@string/app_name" android:name="com.echelonfit.echelon_21_updater.DevAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">
            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
                <action android:name="android.app.action.PROFILE_PROVISIONING_COMPLETE"/>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
            <meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin"/>
        </receiver>
        <activity android:exported="true" android:name="com.echelonfit.echelon_21_updater.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.HOME"/>
            </intent-filter>
        </activity>
        <provider android:authorities="com.echelonfit.echelon_21_updater.crashlyticsinitprovider" android:exported="false" android:initOrder="90" android:name="com.crashlytics.android.CrashlyticsInitProvider"/>
    </application>
</manifest>
thank you for the reply,
so let's say I find the android:testOnly and it is not true.
should I change that or add that in? and then what? I am certainly new to the whole android hacking thing so any instruction helps
thank you
 

badabing2003

Senior Member
Sep 17, 2012
808
580
thank you for the reply,
so let's say I find the android:testOnly and it is not true.
should I change that or add that in? and then what? I am certainly new to the whole android hacking thing so any instruction helps
thank you
If that flag is not set, I'm afraid you're out of luck.
Post your manifest, we'll see what you have, perhaps the Android Intent is different in your case.
 

adalbertoma

Member
Mar 5, 2011
27
1
Hi, guys. I just got an EX-4s a couple of days ago and am modding it to have the best ride experience. Thank you guys so much for the detailed guides.

In my case, I still have a year of Echelon subscription included with my purchase, so I followed the guide on post #355, however I did not uninstall the Echelon app. I kept it for when I decide to use it (if I ever do). Just switching the default home app to Nova was enough for the tablet to boot into Nova.

I was even able to update the Echelon app after setting Nova to be the default home app without issues. There’s a catch though: whenever you open the Echelon app, it blocks the top menu and dock from showing, so I need to re-type the commands to allow them to be shown again.

The one thing I wasn’t able to do is change the wallpaper from my home screen. It seems the echelon logo is enforced somehow. No matter if I do it through Nova or the system settings, the echelon logo always comes back. This is really sad as the logo is not centered and I my OCD is really kicking. 😂

Any tips in regards to this?
 

Attachments

  • image.jpg
    image.jpg
    2.7 MB · Views: 6
Last edited:

ramtheram

Member
May 19, 2022
24
0
Hi, guys. I just got an EX-4s a couple of days ago and am modding it to have the best ride experience. Thank you guys so much for the detailed guides.

In my case, I still have a year of Echelon subscription included with my purchase, so I followed the guide on post #355, however I did not uninstall the Echelon app. I kept it for when I decide to use it (if I ever do). Just switching the default home app to Nova was enough for the tablet to boot into Nova.

I was even able to update the Echelon app after setting Nova to be the default home app without issues. There’s a catch though: whenever you open the Echelon app, it blocks the top menu and dock from showing, so I need to re-type the commands to allow them to be shown again.

The one thing I wasn’t able to do is change the wallpaper from my home screen. It seems the echelon logo is enforced somehow. No matter if I do it through Nova or the system settings, the echelon logo always comes back. This is really sad as the logo is not centered and I my OCD is really kicking. 😂

Any tips in regards to this?
that is actually a fair point. I do not mind keeping the echelon app actually. question for you, which command are you talking about?
 

badabing2003

Senior Member
Sep 17, 2012
808
580
If you uninstall both echelon updater and the app, then install echelon app from whatever source you like, you get to keep echelon and not worry about it talking over or updating.

You can even pets the home key to get out of the app and not have to resort to those commands.
Perhaps the system echelon app is blocking your wallpaper, i also use nova and I have set custom wallpaper.
 

ramtheram

Member
May 19, 2022
24
0
The Error Says: Attempt to remove non-test admin
View attachment 5624803

If android:testOnly flag is not set to test, then you cannot remove the admin privileges.

To check if it is actually set or not and to discover the intent, you'd have to look into the package's manifest file.
You can use apk extractor and get the apk of the app, transfer it to your pc, and use apktool to unpack the package.
Look into the unencrypted AndroidManifest.xml file

The key parts are
<receiver android:label="@string/app_name" android:name="com.echelonfit.echelon_21_updater.DevAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">

And you should find android:testOnly="true"

For reference here's my manifest file.

Code:
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="29" android:compileSdkVersionCodename="10" package="com.echelonfit.echelon_21_updater" platformBuildVersionCode="29" platformBuildVersionName="10">
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
    <uses-permission android:name="android.permission.RECOVERY"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
    <uses-permission android:name="android.permission.REBOOT"/>
    <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
    <uses-permission android:name="android.permission.DELETE_CACHE_FILES"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <application android:allowBackup="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:exported="true" android:extractNativeLibs="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:testOnly="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true">
        <provider android:authorities="com.echelonfit.echelon_21_updater.GenericFileProvider" android:exported="false" android:grantUriPermissions="true" android:name="com.echelonfit.echelon_21_updater.GenericFileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_provider_paths"/>
        </provider>
        <receiver android:label="@string/app_name" android:name="com.echelonfit.echelon_21_updater.DevAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">
            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
                <action android:name="android.app.action.PROFILE_PROVISIONING_COMPLETE"/>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
            <meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin"/>
        </receiver>
        <activity android:exported="true" android:name="com.echelonfit.echelon_21_updater.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.HOME"/>
            </intent-filter>
        </activity>
        <provider android:authorities="com.echelonfit.echelon_21_updater.crashlyticsinitprovider" android:exported="false" android:initOrder="90" android:name="com.crashlytics.android.CrashlyticsInitProvider"/>
    </application>
</manifest>
ok thank you
I did what you said and tried to unpack with apktool and it seems I can not even uppack it.
here is the snapshot
1653750588937.png
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Recently purchased a new in box EX-5S.
    Assembled bike - powered on - entered code 1085 in the menu and got to the about tablet screen screen. Bike runs 9.02 android.

    When I turned on the bike it asked me to update , I declined… should I allow the update or does it block access to these menus?

    Next, I want to install Qdomyos Zwift and Peloton to operate in split screen on the tablet. I would also like to try to get zwift working on tablet(or at least zwift companion). Can someone kindly right up a concise step by step on how to do this with the cleanest method currently available? I would like to keep echelon. I did read the thread but there is conflicting information about using Nova, lawnchair 2, etc. Need some guidance.

    Thanks everyone for all your time and help.
    Setting up your Access.
    1. Go to About Tablet and click on the build number 5 times to enable your Dev options. In this menu, you'll need to allow installs from unknown sources, USB debugging, etc.

    2. Next we'll want to replace the Home app that is currently in your Default app setup. This is what launches the Echelon app at startup.

    3. Go to About Tablet > Android Version . Click on "Android Security Patch Level". This should launch a browser window.

    4. Download Lawnchair 2 from Aptoide (Ensure all 3 buttons on the bottom work)

    Because QDomydos wouldn't work from amazon store, we had to do this workaround:
    5. Download MyBackupPro from Amazon store (I had to purchase mybackuppro from amazon store and google play)

    6. On an android device (If you only have IOS, you can utilize an emulator like Bluestack to do this), download Qdomydos and mybackuppro and backup Qdomydos to it.

    7. Restore the backup app on the tablet. You should have Qdomydos now.

    8. Download pelaton (I think I think this from aptoide)

    9. Activate force activities to be re-sizable option: I believe you go to settings -> systems -> developer options -> scroll all the way to the bottom to click to activate

    10. Now you should be able to hold the square button to have both Qdomydos and Pelaton to be in split screen
    2
    Ptinga -- thank you for sharing this workaround solution to get Netflix onto the Echelon monitor. I was able to get past your step #1, but I'm stuck at "Startos". I'm a Mac person and I don't see Startos on the menu of listed items in order to proceed to step #2. Any advice you could offer would be greatly appreciated!

    There appears to be 2 different versions of the OS - StarOS (relabeled Android OS, which is in the older models) and a more standard Android OS (in the newer model). Check out post #27 by DVDVampire01 to see if it applies to you:

    https://forum.xda-developers.com/t/...-5-tablet-to-basic-android-rom.4023915/page-2

    After you've finished setting up according to the directions from DVDVampire01, you'll definitely want to install EAS (easy application switcher - in the lightning browser, you can google "apkmirror eas" and install that apk). As part of the EAS setup, make sure to give permissions for the application overlay (and probably other permissions EAS askes for)

    With NOVA and EAS in place, it's very easy to switch in/out of the Echelon app (and other android apps that you install) by flicking the app drawer from the right side.

    Last tip. Usually when you download the apk from the Lightning browser, you would get a ding sound + notification that the download completed. Oddly enough, my notification dropdown disappeared just yesterday (??), making it difficult find the downloads/install the apks. As a workaround, you can use the Search bar within the NOVA desktop, and search for the "Files" app. (it's basically a file browser). Use that to navigate to the Downloads folder, and then you can install the apk from that folder.

    Hope this helps!
    2
    Part of the problem is the stock Echelon app disables the android buttons/actions. I even tried installing various menu button apps, which did overlay on the Echelon app, but they were all non-functioning.

    Right now I'm trying out the Peloton app (via the tablet) and just using the Echelon (on my phone) for resistance/cadence. I plan to try the other app you mentioned.
    By the way, the qdomyos-zwift app also gives you a resistance setting converted for Peloton. Attached is a pic of someone's setup on their FB site...
    137063381_10224204148231955_8483058874946523677_n.jpg
    2
    I'm no help with the code not working, try factory reset and if that doesnt work than start trying different combinations :(

    I gave up on getting qdomyos for a moment thinking i want to hack this this as much as possible to get stock android experience. So on a development front, I figured that if we can remove the admin control over the tablet we'd have more flexibility to do things? Echelon 21 Updater has admin and i believe is limiting functionality/management over the tablet. You can't change that/uninstall it. So I figured that out, hopefully this gets us further ahead (this was on the ex4s+ with android v9)....
    1) On the tablet download and install "Wifi ADB" - https://m.apkpure.com/wifi-adb-debug-over-air/com.ttxapps.wifiadb
    2) Connect adb via your favorite method (PC or phone) to the tablet
    3) Type in the command "adb shell"
    4) Then type in "dpm remove-active-admin --user current com.echelonfit.echelon_21_updater/.DevAdminReceiver"
    You should get
    Success: Admin removed ComponentInfo{com.echelonfit.echelon_21_updater/com.echelonfit.echelon_21_updater.DevAdminReceiver}

    Now you can uninstall Echlon 21 Updater (I used titanium backup to disable/uninstall it instead of completely uninstalling it).
    This app no longer boots on reboot and no longer has control over the tablet!

    My hope was/is we can start restoring some stock android things like getting the buttons to work and getting google on there but I'm not sure how/where to go from here.

    Also found that we have arm v7a and zwift only runs on v8a so that's probably never going to work?
    2
    I just received my EX5S and with all your help I was able to get into the admin area and install all the apps I wanted. I can now use the iFit app with this bike and thanks to the awesome qdomyos-zwift app I can keep track of my workouts from my phone. Unlike some of you here I was also able to install YouTube with no issue. As far as switching between apps, I installed "EAS: Easy App Switcher" which allows you to swipe in from the right to bring up a wheel menu with your recent apps and a double swipe brings a menu with all your apps. From there you can switch to other apps. I've also installed "Navigation Gestures - Swipe Gesture Controls!" which does similar things, I'll play with both and probably just keep 1 of them. It looks like you can install "service" apps which run as services and therefore won't be killed by other apps. BTW, this tablet came installed with Android 9.
    2021-01-30_10-49-22.png