Merge branch '2.0' of Karl/MiWatchKleaner into master
This commit is contained in:
commit
e6a50ac266
4
.gitignore
vendored
4
.gitignore
vendored
@ -1 +1,3 @@
|
||||
data/apps/
|
||||
node_modules/
|
||||
data/MiWatch.json
|
||||
data/apps/*.apk
|
||||
|
17
.vscode/launch.json
vendored
Normal file
17
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
{"version": "0.2.0",
|
||||
"configurations": [
|
||||
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "sssas",
|
||||
// "program": "${workspaceFolder}/bin/test",
|
||||
"program": "${workspaceFolder}/app.js",
|
||||
"args": [
|
||||
"init",
|
||||
"aasas",
|
||||
],
|
||||
"console": "integratedTerminal"
|
||||
},
|
||||
],
|
||||
}
|
@ -1,403 +0,0 @@
|
||||
echo off
|
||||
mode con: cols=85 lines=50
|
||||
set ch=data\chgcolor.exe
|
||||
set fast=data\fastboot.exe
|
||||
set adb=data\adb.exe
|
||||
echo. && echo. && echo.
|
||||
%ch% cc
|
||||
echo ___________________________________________________________________________________
|
||||
%ch% 00
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
%ch% 0f
|
||||
echo MiWatchKleaner 1.7
|
||||
%ch% 00
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
%ch% cc
|
||||
echo ___________________________________________________________________________________
|
||||
%ch% 0f
|
||||
Timeout /t 2 >data/null
|
||||
|
||||
:START
|
||||
cls
|
||||
%ch% 07
|
||||
echo. && echo. && echo.
|
||||
%ch% cc
|
||||
echo ___________________________________________________________________________________
|
||||
%ch% 0f
|
||||
echo. && echo. && echo.
|
||||
echo MiWatchKleaner 1.7
|
||||
echo.
|
||||
echo -- MENU --
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
Timeout /t 1 >data/null
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 1 - Connect to MiWatch via Wifi
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 2 - Remove Installed Xiaomi Apps
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 3 - Install Compatible Apps
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 4 - Restore Uninstall App
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
echo E - exit
|
||||
%ch% cc
|
||||
echo ___________________________________________________________________________________
|
||||
%ch% 0f
|
||||
Timeout /t 1 >data/null
|
||||
echo Choose an option:
|
||||
%ch% 00
|
||||
echo. && choice /c:1234E /M ""
|
||||
|
||||
IF %ERRORLEVEL% == 1 GOTO CONNECT
|
||||
IF %ERRORLEVEL% == 2 GOTO REMOVEAPPS
|
||||
IF %ERRORLEVEL% == 3 GOTO INSTALLAPPS
|
||||
IF %ERRORLEVEL% == 4 GOTO REINSTALLAPPS
|
||||
IF %ERRORLEVEL% == 5 GOTO EXIT
|
||||
|
||||
:EXIT
|
||||
exit
|
||||
|
||||
:REMOVEAPPS
|
||||
cls
|
||||
%ch% 07
|
||||
echo. && echo. && echo.
|
||||
%ch% cc
|
||||
echo ___________________________________________________________________________________
|
||||
%ch% 0f
|
||||
echo. && echo. && echo.
|
||||
echo.
|
||||
echo -- REMOVE XIAOMI APPS MENU --
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
Timeout /t 1 >data/null
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 1 - Remove Xiaomi Apps and Overlays
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 2 - Manual Remove Any Package
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 3 - Retrun to Main Menu
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
echo E - exit
|
||||
%ch% cc
|
||||
echo ___________________________________________________________________________________
|
||||
%ch% 0f
|
||||
Timeout /t 1 >data/null
|
||||
echo Choose an option:
|
||||
%ch% 00
|
||||
echo. && choice /c:123 /M ""
|
||||
|
||||
IF %ERRORLEVEL% == 1 GOTO REMOVEAPP
|
||||
IF %ERRORLEVEL% == 2 GOTO REMOVEANYAPP
|
||||
IF %ERRORLEVEL% == 3 GOTO START
|
||||
|
||||
:EXIT
|
||||
exit
|
||||
|
||||
:INSTALLAPPS
|
||||
cls
|
||||
%ch% 07
|
||||
echo. && echo. && echo.
|
||||
%ch% cc
|
||||
echo ___________________________________________________________________________________
|
||||
%ch% 0f
|
||||
echo. && echo. && echo.
|
||||
echo.
|
||||
echo -- INSTALL APPS --
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
Timeout /t 1 >data/null
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 1 - INSTALL Google Apps
|
||||
echo (Google Fit, Google Maps, Google Quick Search,
|
||||
echo Google Translate, Google TTS, WearOs Keyboard)
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 2 - INSTALL Other Apps
|
||||
echo (AccuWeather, Alberto Store, PujieBlack,
|
||||
echo Ultimate Alexa)
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 3 - INSTALL MoreLocale
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo.
|
||||
%ch% 0a
|
||||
echo 4 - Retrun to Main Menu
|
||||
echo.
|
||||
%ch% 08
|
||||
%ch% 0f
|
||||
echo _________________________________________________________________________________
|
||||
echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo. && echo.
|
||||
echo E - exit
|
||||
%ch% cc
|
||||
echo ___________________________________________________________________________________
|
||||
%ch% 0f
|
||||
Timeout /t 1 >data/null
|
||||
echo Choose an option:
|
||||
%ch% 00
|
||||
echo. && choice /c:123 /M ""
|
||||
|
||||
IF %ERRORLEVEL% == 1 GOTO GOOGLE
|
||||
IF %ERRORLEVEL% == 2 GOTO OTHERS
|
||||
IF %ERRORLEVEL% == 3 GOTO MORELOCALE
|
||||
IF %ERRORLEVEL% == 4 GOTO START
|
||||
|
||||
:EXIT
|
||||
exit
|
||||
|
||||
:REMOVEAPP
|
||||
cls
|
||||
color 47
|
||||
color 47
|
||||
%adb% shell pm uninstall -k --user 0 com.xiaomi.wear.calculator && %adb% shell pm uninstall -k --user 0 com.ximalayaos.wear.common && %adb% shell pm uninstall -k --user 0 com.eg.android.AlipayGphone && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.hotwordle && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.fitness && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.watchface.function && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.watchface.art && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.watchface.album && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.watchface.decomposite && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.watchface.classic && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.tutorial && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.deskclock && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.sportlogger && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.weather && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.charging && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.anonymous.xiaoai && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.lpa && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.setupprovider && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.xiaoai && %adb% shell pm uninstall -k --user 0 com.xiaomi.wear.card && %adb% shell pm uninstall -k --user 0 com.google.android.inputmethod.pinyin && %adb% shell pm uninstall -k --user 0 com.sogou.ime.wear && %adb% shell pm uninstall -k --user 0 com.tencent.qqmusicwatch && %adb% shell pm uninstall -k --user 0 com.sogou.map.android.maps && %adb% shell pm uninstall -k --user 0 com.umetrip.android.msky.app && %adb% shell pm uninstall -k --user 0 com.gotokeep.keep && %adb% shell pm uninstall -k --user 0 com.tigerbrokers.stock
|
||||
Timeout /t 10 >data/null
|
||||
%ch% 4F
|
||||
echo. ******** Apps Removed *****
|
||||
Timeout /t 2 >data/null
|
||||
echo.-----------------------------------------------------------------------------------
|
||||
%ch% 47
|
||||
Timeout /t 1 >data/null
|
||||
echo.
|
||||
echo Press any key to back to MAIN MEMU
|
||||
%ch% 44
|
||||
pause
|
||||
%ch% 00
|
||||
GOTO START
|
||||
|
||||
:CONNECT
|
||||
cls
|
||||
color 47
|
||||
set /p miwatchIp=Please enter MiWatch IP Address:
|
||||
Timeout /t 5 >data/null
|
||||
%ch% 4F
|
||||
%adb% connect %miwatchIp%
|
||||
Timeout /t 2 >data/null
|
||||
%adb% devices
|
||||
echo.-----------------------------------------------------------------------------------
|
||||
%ch% 47
|
||||
Timeout /t 1 >data/null
|
||||
echo.
|
||||
echo. && echo.
|
||||
echo Press any key to back to MAIN MEMU
|
||||
%ch% 44
|
||||
pause
|
||||
%ch% 00
|
||||
GOTO START
|
||||
|
||||
:GOOGLE
|
||||
cls
|
||||
color 47
|
||||
echo. Downloading Latest Google Fit
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/GoogleFit.apk -P ./data/apps
|
||||
echo. Installing Latest Google Fit
|
||||
%adb% install -r data/apps/GoogleFit.apk
|
||||
echo. Latest Google Fit Installed
|
||||
echo. Downloading Latest Google Maps
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/GoogleMaps.apk -P ./data/apps
|
||||
echo. Installing Latest Google Maps
|
||||
%adb% install -r data/apps/GoogleMaps.apk
|
||||
echo. Latest Google Maps Installed
|
||||
echo. Downloading Latest Google Quick Search
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/GoogleQuickSearch.apk -P ./data/apps
|
||||
echo. Installing Latest Google Quick Search
|
||||
%adb% install -r data/apps/GoogleQuickSearch.apk
|
||||
echo. Latest Google Quick Search Installed
|
||||
echo. Downloading Latest GoogleTTS
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/GoogleTTS.apk -P ./data/apps
|
||||
echo. Installing Latest GoogleTTS
|
||||
%adb% install -r data/apps/GoogleTTS.apk
|
||||
echo. Latest GoogleTTS Installed
|
||||
echo. Downloading Latest Google Translate
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/GoogleTranslate.apk -P ./data/apps
|
||||
echo. Installing Latest Google Translate
|
||||
%adb% install -r data/apps/GoogleTranslate.apk
|
||||
echo. Latest Google Translate Installed
|
||||
echo. Downloading Latest Google Wear Keyboard
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/WearKeyboard.apk -P ./data/apps
|
||||
echo. Installing Latest Google Wear Keyboard
|
||||
%adb% install -r data/apps/WearKeyboard.apk
|
||||
echo. Latest Google Wear Keyboard Installed
|
||||
echo. Downloading Latest Google Calculator
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/GoogleCalc.apk -P ./data/apps
|
||||
echo. Installing Latest Google Calculator
|
||||
%adb% install -r data/apps/GoogleCalc.apk
|
||||
echo. Latest Google Calculator Installed
|
||||
echo. Downloading Latest Google Clock
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/GoogleClock.apk -P ./data/apps
|
||||
echo. Installing Latest Google Clock
|
||||
%adb% install -r data/apps/GoogleClock.apk
|
||||
echo. Latest Google Clock Installed
|
||||
echo. Downloading Latest Google Services
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Google/GoogleServices.apk -P ./data/apps
|
||||
echo. Installing Latest Google Services
|
||||
%adb% install -r data/apps/GoogleServices.apk
|
||||
echo. Latest Google Services Installed
|
||||
Timeout /t 5 >data/null
|
||||
%ch% 4F
|
||||
del /S data\apps\*.apk
|
||||
echo. ******** All Google Apps Installed *****
|
||||
Timeout /t 2 >data/null
|
||||
echo.-----------------------------------------------------------------------------------
|
||||
%ch% 47
|
||||
Timeout /t 1 >data/null
|
||||
echo.
|
||||
echo. && echo.
|
||||
echo. && echo.
|
||||
echo Press any key to back to MAIN MEMU
|
||||
%ch% 44
|
||||
pause
|
||||
%ch% 00
|
||||
GOTO START
|
||||
|
||||
:OTHERS
|
||||
cls
|
||||
color 47
|
||||
echo. Downloading Latest Pujie Black
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/Pujie.apk -P ./data/apps
|
||||
echo. Installing Latest Pujie Black
|
||||
%adb% install -r data/apps/Pujie.apk
|
||||
echo. Latest Pujie Black Installed
|
||||
echo. Downloading Latest AccuWeather
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/AccuWeather.apk -P ./data/apps
|
||||
echo. Installing Latest AccuWeather
|
||||
%adb% install -r data/apps/AccuWeather.apk
|
||||
echo. Latest AccuWeather Installed
|
||||
echo. Downloading Latest Ultimate Alexa
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/UltimateAlexa.apk -P ./data/apps
|
||||
echo. Installing Latest Ultimate Alexa
|
||||
%adb% install -r data/apps/UltimateAlexa.apk
|
||||
echo. Latest Ultimate Alexa Installed
|
||||
Timeout /t 5 >data/null
|
||||
%ch% 4F
|
||||
del /S data\apps\*.apk
|
||||
echo. ******** Other Apps All Installed *****
|
||||
Timeout /t 2 >data/null
|
||||
echo.-----------------------------------------------------------------------------------
|
||||
%ch% 47
|
||||
Timeout /t 1 >data/null
|
||||
echo.
|
||||
echo. && echo.
|
||||
echo. && echo.
|
||||
echo Press any key to back to MAIN MEMU
|
||||
%ch% 44
|
||||
pause
|
||||
%ch% 00
|
||||
GOTO START
|
||||
|
||||
:MORELOCALE
|
||||
cls
|
||||
color 47
|
||||
echo. Downloading Latest MoreLocale
|
||||
data\wget.exe -q http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/MoreLocale.apk -P ./data/apps
|
||||
echo. Installing Latest MoreLocale
|
||||
%adb% install -r data/apps/MoreLocale.apk
|
||||
echo. Latest MoreLocale Installed
|
||||
echo. Running MoreLocale Config
|
||||
%adb% shell pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION
|
||||
Timeout /t 5 >data/null
|
||||
%ch% 4F
|
||||
del /S data\apps\*.apk
|
||||
echo. ******** MoreLocale Installed & Enabled *****
|
||||
Timeout /t 2 >data/null
|
||||
echo.-----------------------------------------------------------------------------------
|
||||
%ch% 47
|
||||
Timeout /t 1 >data/null
|
||||
echo.
|
||||
echo. && echo.
|
||||
echo. && echo.
|
||||
echo Press any key to back to MAIN MEMU
|
||||
%ch% 44
|
||||
pause
|
||||
%ch% 00
|
||||
GOTO START
|
||||
|
||||
:REINSTALLAPPS
|
||||
cls
|
||||
color 47
|
||||
set /p appToEnable=Please enter app name to re-enable:
|
||||
Timeout /t 5 >data/null
|
||||
echo. Re-enabling %appToEnable%
|
||||
%ch% 4F
|
||||
%adb% shell cmd package install-existing %appToEnable%
|
||||
Timeout /t 2 >data/null
|
||||
echo.-----------------------------------------------------------------------------------
|
||||
%ch% 47
|
||||
Timeout /t 1 >data/null
|
||||
echo.
|
||||
echo. && echo.
|
||||
echo. && echo.
|
||||
echo Press any key to back to MAIN MEMU
|
||||
%ch% 44
|
||||
pause
|
||||
%ch% 00
|
||||
GOTO START
|
||||
|
||||
:REMOVEANYAPP
|
||||
cls
|
||||
color 47
|
||||
set /p appToRemove=Please enter app name to remove:
|
||||
Timeout /t 5 >data/null
|
||||
echo. Removing %appToRemove%
|
||||
%ch% 4F
|
||||
%adb% shell pm uninstall -k --user 0 %appToRemove%
|
||||
Timeout /t 2 >data/null
|
||||
echo.-----------------------------------------------------------------------------------
|
||||
%ch% 47
|
||||
Timeout /t 1 >data/null
|
||||
echo.
|
||||
echo. && echo.
|
||||
echo. && echo.
|
||||
echo Press any key to back to MAIN MEMU
|
||||
%ch% 44
|
||||
pause
|
||||
%ch% 00
|
||||
GOTO START
|
32
README.md
32
README.md
@ -1,32 +0,0 @@
|
||||
Version 1.7
|
||||
Option to manually remove any package
|
||||
|
||||
Version 1.6
|
||||
Option to re-enable uninstalled applications
|
||||
Stop removing com.xiaomi.account
|
||||
Stop removing com.xiaomi.mihome
|
||||
Stop removing com.xiaomi.wear.market
|
||||
|
||||
Version 1.5
|
||||
Remove com.xiaomi.wear.calculator
|
||||
|
||||
Version 1.4
|
||||
Add Google Clock
|
||||
Update GoogleQuickSearch
|
||||
Add Google Services
|
||||
|
||||
Version 1.3
|
||||
Add moreLocale
|
||||
|
||||
Version 1.2
|
||||
Add Google Calculator to Google Install set
|
||||
|
||||
Version 1.1
|
||||
This allows install of working Google and Other Apps.
|
||||
|
||||
Google Fit Google Maps Google Quick Search Google Translate Google TTS GBoard Wear Os
|
||||
|
||||
AccuWeather Puji Black Ultimate Alexa
|
||||
|
||||
Version 1.0
|
||||
Initial Version
|
3
app.js
Normal file
3
app.js
Normal file
@ -0,0 +1,3 @@
|
||||
const pages = require('./pages/pages')
|
||||
|
||||
pages.mainMenu();
|
1
data/MiWatch.json
Normal file
1
data/MiWatch.json
Normal file
@ -0,0 +1 @@
|
||||
{"ipAddress":""}
|
BIN
data/adb.exe
BIN
data/adb.exe
Binary file not shown.
0
data/apps/.gitkeep
Normal file
0
data/apps/.gitkeep
Normal file
Binary file not shown.
34
data/packageList.json
Normal file
34
data/packageList.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"apps": [
|
||||
"com.xiaomi.wear.calculator",
|
||||
"com.ximalayaos.wear.common",
|
||||
"com.eg.android.AlipayGphone",
|
||||
"com.xiaomi.wear.hotwordle",
|
||||
"com.xiaomi.wear.fitness",
|
||||
"com.xiaomi.wear.watchface.function",
|
||||
"com.xiaomi.wear.watchface.art",
|
||||
"com.xiaomi.wear.watchface.album",
|
||||
"com.xiaomi.wear.watchface.decomposite",
|
||||
"com.xiaomi.wear.watchface.classic",
|
||||
"com.xiaomi.wear.tutorial",
|
||||
"com.xiaomi.wear.deskclock",
|
||||
"com.xiaomi.wear.sportlogger",
|
||||
"com.xiaomi.wear.weather",
|
||||
"com.xiaomi.wear.charging",
|
||||
"com.xiaomi.wear.anonymous.xiaoai",
|
||||
"com.xiaomi.wear.lpa",
|
||||
"com.xiaomi.wear.setupprovider",
|
||||
"com.xiaomi.wear.xiaoai",
|
||||
"com.xiaomi.wear.card",
|
||||
"com.google.android.inputmethod.pinyin",
|
||||
"com.sogou.ime.wear",
|
||||
"com.tencent.qqmusicwatch",
|
||||
"com.sogou.map.android.maps",
|
||||
"com.umetrip.android.msky.app",
|
||||
"com.gotokeep.keep",
|
||||
"com.tigerbrokers.stock",
|
||||
"com.xiaomi.wear.market",
|
||||
"com.xiaomi.mihome",
|
||||
"com.xiaomi.account"
|
||||
]
|
||||
}
|
BIN
data/wget.exe
BIN
data/wget.exe
Binary file not shown.
18
lib/adb.js
Normal file
18
lib/adb.js
Normal file
@ -0,0 +1,18 @@
|
||||
const gfin = require('get-files-in')
|
||||
const shellExec = require('shell-exec')
|
||||
|
||||
module.exports = {
|
||||
getListOfAPk: () => {
|
||||
this.apkListToInstall = gfin('./data/apps', matchFiletypes = ["apk"], checkSubDirectories = false)
|
||||
},
|
||||
installApk: async () => {
|
||||
await module.exports.getListOfAPk()
|
||||
for (let element of this.apkListToInstall) {
|
||||
await shellExec('adb install -r ' + element).then(function (result) {
|
||||
console.log('Installing ' + element + ' - ' + result.stdout);
|
||||
});
|
||||
}
|
||||
// console.log(chalk.green('Removal Complete'))
|
||||
},
|
||||
|
||||
};
|
40
lib/common.js
Normal file
40
lib/common.js
Normal file
@ -0,0 +1,40 @@
|
||||
const chalk = require('chalk');
|
||||
const clear = require('clear');
|
||||
const figlet = require('figlet');
|
||||
const fs = require('fs')
|
||||
var pjson = require('../package.json');
|
||||
|
||||
module.exports = {
|
||||
header: (page) => {
|
||||
clear();
|
||||
console.log(
|
||||
chalk.red(
|
||||
figlet.textSync('MiWatch Kleaner', {
|
||||
horizontalLayout: 'full'
|
||||
})
|
||||
)
|
||||
);
|
||||
console.log(chalk.red(' ' + pjson.version));
|
||||
console.log();
|
||||
|
||||
console.log(
|
||||
chalk.red(
|
||||
'-------------------------------------------------------------------------------------------------------'
|
||||
)
|
||||
)
|
||||
console.log(chalk.blue(page))
|
||||
module.exports.ipCheck()
|
||||
console.log(chalk.red('----------'))
|
||||
},
|
||||
pause: async (time) => {
|
||||
await new Promise(resolve => setTimeout(resolve, time));
|
||||
},
|
||||
ipCheck: async () => {
|
||||
const miwatchData = JSON.parse(fs.readFileSync('./data/MiWatch.json', 'utf8'));
|
||||
if (miwatchData.ipAddress === "") {
|
||||
console.log(chalk.white('MiWatch IP: ') + chalk.red('Not Connected'))
|
||||
} else {
|
||||
console.log(chalk.white('MiWatch IP: ' + chalk.green(miwatchData.ipAddress)))
|
||||
}
|
||||
}
|
||||
}
|
30
lib/files.js
Normal file
30
lib/files.js
Normal file
@ -0,0 +1,30 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
getCurrentDirectoryBase: () => {
|
||||
return path.basename(process.cwd());
|
||||
},
|
||||
|
||||
directoryExists: (filePath) => {
|
||||
return fs.existsSync(filePath);
|
||||
},
|
||||
writeIpAddress: (value) => {
|
||||
const data = {
|
||||
ipAddress: value
|
||||
}
|
||||
try {
|
||||
fs.writeFileSync('./data/MiWatch.json', JSON.stringify(data))
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
}
|
||||
},
|
||||
loadPackageList: () => {
|
||||
try {
|
||||
const packageList = JSON.parse(fs.readFileSync('./data/packageList.json', 'utf8'));
|
||||
return packageList
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
}
|
||||
},
|
||||
}
|
73
lib/inquirer.js
Normal file
73
lib/inquirer.js
Normal file
@ -0,0 +1,73 @@
|
||||
const inquirer = require("inquirer");
|
||||
const files = require("./files");
|
||||
const rp = require('request-promise-native')
|
||||
|
||||
let compatibleApps
|
||||
|
||||
module.exports = {
|
||||
mainMenu: () => {
|
||||
const questions = [{
|
||||
type: "list",
|
||||
name: "mainMenu",
|
||||
message: "What do you want to do?",
|
||||
choices: [
|
||||
"Connect to MiWatch via Wifi",
|
||||
"Remove Xiaomi Apps",
|
||||
"Restore Xiaomi Apps",
|
||||
"Install Compatible Apps",
|
||||
"Quit"
|
||||
],
|
||||
filter: function (val) {
|
||||
return val.toLowerCase();
|
||||
},
|
||||
}, ];
|
||||
return inquirer.prompt(questions);
|
||||
},
|
||||
connectWifi: () => {
|
||||
const questions = [{
|
||||
type: "input",
|
||||
name: "connectWifi",
|
||||
message: "What is your MiWatch IpAdress?",
|
||||
}, ];
|
||||
return inquirer.prompt(questions);
|
||||
},
|
||||
removeAppsList: async () => {
|
||||
const packages = await files.loadPackageList();
|
||||
|
||||
const questions = [{
|
||||
type: "checkbox",
|
||||
name: "removeAppsList",
|
||||
message: "What apps do you want to remove?",
|
||||
choices: packages.apps,
|
||||
}, ];
|
||||
return inquirer.prompt(questions);
|
||||
},
|
||||
compatibleApps: async () => {
|
||||
await module.exports.getCompatibleApps()
|
||||
const appList = []
|
||||
for (let element of compatibleApps) {
|
||||
appList.push(element.name)
|
||||
}
|
||||
const questions = [{
|
||||
type: "checkbox",
|
||||
name: "removeAppsList",
|
||||
message: "What apps do you want to remove?",
|
||||
choices: appList,
|
||||
}, ];
|
||||
return inquirer.prompt(questions);
|
||||
},
|
||||
getCompatibleApps: async () => {
|
||||
var options = {
|
||||
method: 'GET',
|
||||
uri: 'http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/compatibleApps.json',
|
||||
};
|
||||
|
||||
await rp(options)
|
||||
.then(function (response) {
|
||||
compatibleApps = JSON.parse(response)
|
||||
})
|
||||
.catch(function (err) {
|
||||
console.log('compatibleApps.json Not Found')
|
||||
});
|
||||
}
|
||||
};
|
1398
package-lock.json
generated
Normal file
1398
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
29
package.json
Normal file
29
package.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "miwatchkleaner2.0",
|
||||
"version": "2.0.0",
|
||||
"description": "MiWatch Cleaning Tool",
|
||||
"main": "app.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "http://kithub.cf/Karl/MiWatchKleaner.git"
|
||||
},
|
||||
"author": "Karl Hudgell",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chalk": "^4.0.0",
|
||||
"clear": "^0.1.0",
|
||||
"clui": "^0.3.6",
|
||||
"download-file": "^0.1.5",
|
||||
"download-file-with-progressbar": "^1.2.3",
|
||||
"figlet": "^1.3.0",
|
||||
"get-files-in": "^1.2.0",
|
||||
"inquirer": "^7.1.0",
|
||||
"node-downloader-helper": "^1.0.12",
|
||||
"pkg": "^4.4.7",
|
||||
"request-promise-native": "^1.0.8",
|
||||
"shell-exec": "^1.0.2"
|
||||
}
|
||||
}
|
177
pages/pages.js
Normal file
177
pages/pages.js
Normal file
@ -0,0 +1,177 @@
|
||||
const chalk = require('chalk');
|
||||
const common = require('../lib/common');
|
||||
const inquirer = require('../lib/inquirer');
|
||||
const shellExec = require('shell-exec')
|
||||
const files = require('../lib/files')
|
||||
const fs = require('fs')
|
||||
const {
|
||||
DownloaderHelper
|
||||
} = require('node-downloader-helper');
|
||||
const getFilesIn = require('get-files-in')
|
||||
const http = require('http')
|
||||
|
||||
module.exports = {
|
||||
compatibleApps: async () => {
|
||||
common.header('Install Compatible Apps')
|
||||
let compatibleApps
|
||||
let url = "http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/compatibleApps.json";
|
||||
http.get(url, (res) => {
|
||||
let body = "";
|
||||
|
||||
res.on("data", (chunk) => {
|
||||
body += chunk;
|
||||
});
|
||||
|
||||
res.on("end", () => {
|
||||
try {
|
||||
compatibleApps = JSON.parse(body);
|
||||
// do something with JSON
|
||||
} catch (error) {
|
||||
console.error(error.message);
|
||||
};
|
||||
});
|
||||
|
||||
}).on("error", (error) => {
|
||||
console.error(error.message);
|
||||
});
|
||||
|
||||
const value = await inquirer.compatibleApps();
|
||||
|
||||
await shellExec('rm ./data/apps/*.apk').then(function (result) {});
|
||||
|
||||
for (let element of value.removeAppsList) {
|
||||
for (let element2 of compatibleApps) {
|
||||
if (element === element2.name) {
|
||||
const options = {
|
||||
override: true,
|
||||
}
|
||||
const dl = new DownloaderHelper(element2.url, './data/apps/', options);
|
||||
dl.on('end', () => console.log('Downloading Latest ' + element2.name + ' Complete'))
|
||||
await dl.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const apkList = await getFilesIn('./data/apps', matchFiletypes = ['apk'], checkSubDirectories = false)
|
||||
|
||||
for (let element of apkList) {
|
||||
console.log('Installing ' + element)
|
||||
await shellExec('adb install -r ' + element).then(function (result) {
|
||||
console.log(element + ' - ' + result.stdout);
|
||||
});
|
||||
}
|
||||
console.log(chalk.green('Compatible Apps Installed'))
|
||||
await common.pause(2000)
|
||||
module.exports.mainMenu()
|
||||
},
|
||||
removeApps: async () => {
|
||||
common.header('Remove Apps')
|
||||
const value = await inquirer.removeAppsList();
|
||||
for (let element of value.removeAppsList) {
|
||||
await shellExec('adb shell pm uninstall -k --user 0 ' + element).then(function (result) {
|
||||
console.log('Removing ' + element + ' - ' + result.stdout);
|
||||
});
|
||||
}
|
||||
console.log(chalk.green('Removal Complete'))
|
||||
await common.pause(2000)
|
||||
module.exports.mainMenu()
|
||||
},
|
||||
restoreApps: async () => {
|
||||
common.header('Restore Apps')
|
||||
const value = await inquirer.removeAppsList();
|
||||
for (let element of value.removeAppsList) {
|
||||
await shellExec('adb shell cmd package install-existing ' + element).then(function (result) {
|
||||
console.log('Restoring ' + element + ' - ' + result.stdout);
|
||||
});
|
||||
}
|
||||
console.log(chalk.green('Restore Complete'))
|
||||
await common.pause(2000)
|
||||
module.exports.mainMenu()
|
||||
},
|
||||
connectWifi: async () => {
|
||||
const miwatchData = JSON.parse(fs.readFileSync('./data/MiWatch.json', 'utf8'));
|
||||
common.header('Connect Wifi')
|
||||
if (miwatchData.ipAddress !== "") {
|
||||
console.log('Trying to connect with stored ipAddress')
|
||||
shellExec('adb connect ' + miwatchData.ipAddress).then(async function (result) {
|
||||
if (result.stdout.includes('unable to connect')) {
|
||||
console.log(chalk.red('MiWatch not found'))
|
||||
await common.pause(2000)
|
||||
console.log(chalk.white('Try Again'))
|
||||
files.writeIpAddress('')
|
||||
await common.pause(1000)
|
||||
module.exports.connectWifi()
|
||||
} else if (result.stdout.includes('cannot connect')) {
|
||||
console.log(chalk.red('MiWatch not found'))
|
||||
await common.pause(2000)
|
||||
console.log(chalk.white('Try Again'))
|
||||
files.writeIpAddress('')
|
||||
await common.pause(1000)
|
||||
module.exports.connectWifi()
|
||||
} else if (result.stdout.includes('cannot resolve host')) {
|
||||
console.log(chalk.red('MiWatch not found'))
|
||||
await common.pause(2000)
|
||||
console.log(chalk.white('Try Again'))
|
||||
files.writeIpAddress('')
|
||||
await common.pause(1000)
|
||||
module.exports.connectWifi()
|
||||
} else {
|
||||
console.log(chalk.green('MiWatch Connected'))
|
||||
await common.pause(3000)
|
||||
module.exports.mainMenu()
|
||||
}
|
||||
}).catch()
|
||||
} else {
|
||||
const value = await inquirer.connectWifi();
|
||||
const miWatchIpaddress = value.connectWifi
|
||||
shellExec('adb connect ' + miWatchIpaddress).then(async function (result) {
|
||||
if (result.stdout.includes('unable to connect')) {
|
||||
console.log(chalk.red('MiWatch not found'))
|
||||
await common.pause(2000)
|
||||
console.log(chalk.white('Try Again'))
|
||||
await common.pause(1000)
|
||||
module.exports.connectWifi()
|
||||
} else if (result.stdout.includes('cannot connect')) {
|
||||
console.log(chalk.red('MiWatch not found'))
|
||||
await common.pause(2000)
|
||||
console.log(chalk.white('Try Again'))
|
||||
await common.pause(1000)
|
||||
module.exports.connectWifi()
|
||||
} else if (result.stdout.includes('cannot resolve host')) {
|
||||
console.log(chalk.red('MiWatch not found'))
|
||||
await common.pause(2000)
|
||||
console.log(chalk.white('Try Again'))
|
||||
await common.pause(1000)
|
||||
module.exports.connectWifi()
|
||||
} else {
|
||||
console.log(chalk.green('MiWatch Connected'))
|
||||
files.writeIpAddress(miWatchIpaddress)
|
||||
await common.pause(3000)
|
||||
module.exports.mainMenu()
|
||||
}
|
||||
}).catch()
|
||||
}
|
||||
},
|
||||
mainMenu: async () => {
|
||||
common.header('Main Menu')
|
||||
const mainMenuSelection = await inquirer.mainMenu();
|
||||
switch (mainMenuSelection.mainMenu) {
|
||||
case 'connect to miwatch via wifi':
|
||||
module.exports.connectWifi()
|
||||
break;
|
||||
case 'remove xiaomi apps':
|
||||
module.exports.removeApps()
|
||||
break;
|
||||
case 'restore xiaomi apps':
|
||||
module.exports.restoreApps()
|
||||
break;
|
||||
case 'install compatible apps':
|
||||
module.exports.compatibleApps()
|
||||
break;
|
||||
case 'quit':
|
||||
break;
|
||||
default:
|
||||
// code block
|
||||
}
|
||||
}
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user