Проверка на амортизацията на батерията и други хакове (check battery degradation on android and other dev tools)

Въпроси, помощ, самоучители, ревюта на смарт и не-смартфони, таблети и др.
Публикувай отговор
Аватар
teou
Site Admin
Мнения: 3031
Регистриран на: 23 Ное 2012 19:57
Местоположение: Dreieich - Dreieichenhein (Hessen) / София / Синеморец
Обратна връзка:

Проверка на амортизацията на батерията и други хакове (check battery degradation on android and other dev tools)

Мнение от teou »

Тази тема се роди като опит да видя какво полезно може да се прави в ADB Shell, освен стандартните описани на всеки сайт неща с даване на пермишъни или деактивиране на досадни вградени приложения, евентуално. Постепенно се натрупаха скриптчета, които споделям с вас.

Предисловие: фокуса на темата е андроид 11 и новият метод за wireless debugging, който ни позволява да дебъгваме без компютър изобщо, и също така да се свържем към собствения си телефон, като с този малък трик си осигуряваме най-високите възможни права на неруутнат телефон.
Начините да стигнем до заветната конзола са два - инсталираме Термукс - и то точно тази версия, а не тази от плей стора, и след това инсталираме pkg install android-tools . Оттам нататък се следват стандартните процедури за adb pair/connect описани по куп други сайтове. Примерно тук - https://www.xda-developers.com/debloat- ... oot-no-pc/

Алтернативно имаме 1-2 приложения, които правят горе долу същото с по-малко писане. Примерно ladb - https://github.com/tytydraco/LADB
Струва 3 евра, има предимството да спестява писане на команди при свързването и може да се записват скриптчета като букмаркс, което пести копи пействане (във файловата система на телефона не можем да пишем). Недостатъка е при изпълнението на цикли и интерактивни програми - не приема ctrl c. Начина за излизане от цикъл е със затваряне на приложението. По-долните скриптчета са оптимизирани за ладб, леко трябва да се пипнат за термукс.

Списък на всички услуги

Код за потвърждение: Избери целия код

dumpsys -l
Състояние на зареждането, ако имате съмнения в максималните показатели на кабела

Код за потвърждение: Избери целия код

dumpsys battery
Изхода е примерно такъв, зареждал съм с усб ц кабел, 9 волта и 2.2 ампера. Но най-интересен е брояча, който казва колко ампера има в батерията (1888 мач в случая). При недобре калибрирана батерия може да стигне уж 100% на индикатора но още да зарежда, така че за да видим пълния капацитет изчакваме малко след като стигне 100 процента. При мен стигна до 2500мач, което ако погледнем в Gsmarena примерно че нова трябва да е към 3100 си е едни 20% загуба на капацитет за две години, но пък хич не съм го жалил, играл съм игри, прегрявал съм го, така че може би трябва да се радвам.
AC powered: true
USB powered: false
Wireless powered: false
Max charging current: 2200000
Max charging voltage: 9000000
Charge counter: 1887840
status: 2
health: 2
present: true
level: 79
scale: 100
voltage: 4136
temperature: 330
technology: Unknown
Следващото нещо, което не можем да го видим в никое приложение (без руут) поради липса на права, са температурните датчици (в този вид - за андроид 10 и нагоре, преди това силно орязано и безсмислено)

Код за потвърждение: Избери целия код

dumpsys thermalservice
В същата команда без филтъра се виждат и нивата, при които ще ви троттълне процесора или направо изключи телефона ако прегрее. Те са между другото следните:

Код за потвърждение: Избери целия код

NONE		No throttling
LIGHT		Light throttling where the UX isn't impacted
MODERATE	Moderate throttling where the UX is not largely impacted
SEVERE		Severe throttling where the UX is largely impacted (някъде на това ниво или на горното гугъл фотос отказва да синхронизира снимки примерно)
CRITICAL		Platform has done everything to reduce power
EMERGENCY	Key components in platform are shutting down. Device functionalities will be limited
SHUTDOWN	Must shutdown immediately
Повече по темата и примерен сорс код на апп - https://proandroiddev.com/thermal-in-an ... cc202e9d3b . А ето и едн вече компилиран апп който не показва в статус бара дали тротълваме - https://play.google.com/store/apps/deta ... sh.thermal

Понеже в горното дъмпсис има много бълвоч, го филтрирах малко със следния скрипт

Код за потвърждение: Избери целия код

echo "\nTemperatures\n"; dumpsys thermalservice |awk '/Current temperatures/{f=1;next} /Current cooling devices/{f=0}   {gsub ("Temperature{mValue=", "")}  {gsub ("mName=", "")} {gsub (",", "")}  f  {printf ("%.1f    %-s \n", $1, $3)} ';
Получи се следния изход
Temperatures

33.2 usbc-therm-monitor
32.5 battery
37.6 gpuss-0-usr
37.2 cpu-1-3-usr
36.9 cpu-1-2-usr
38.8 cpu-1-0-usr
37.6 gpuss-1-usr
37.6 cpu-0-5-usr
37.2 cpu-0-0-usr
38.5 cpu-0-4-usr
34.6 skin-therm-monitor
37.9 cpu-1-1-usr
37.2 cpu-0-1-usr
38.8 cpu-0-3-usr
36.3 cpu-0-2-usr
Списък на вифимрежите (с всички адреси и характеристики, канали честоти и т.н.), но за това има и програми

Код за потвърждение: Избери целия код

echo "\nLatest scan results\n"; dumpsys wifiscanner |awk '/Latest scan results/{f=1;next} /scan results IEs/{f=0}  f ';
Всички отворени мрежови портове и връзки. Ако имате вирус няма къде да се скрие, ако не сте с руут, защото няма как да има по-високи права от вас по-точно от шела

Код за потвърждение: Избери целия код

netstat -raltup
Ако имате повечко приложения и някои инсталирани не от плей стора (класически пример е Термукс, от другите заслужаващи внимание са Gadgetbridge и Aodify ), в даден момент може да забравите кои са те и съответно какво да си ъпдейтнете ръчно. Долната
команда показва приложенията инсталирани ръчно от фйлов мениджър, браузер или ф-дроид

Код за потвърждение: Избери целия код

pm list packages -i |grep packageinstaller
Същото но филтъра е за хуавейския магазин

Код за потвърждение: Избери целия код

pm list packages -i |grep huawei.appmarket
Всички процеси, вкл. всякакви шорткъти и уиджети излизат тук, опитал съм се да махна поне драйверите че да е по-прегледно. Отново добър начин да погледнете дали имате вируси

Код за потвърждение: Избери целия код

ps -Af | awk '$3 != "1" { print $0 }' | awk '$3 != "2" { print $0 }'
Вариант без уиджети и сървиси

Код за потвърждение: Избери целия код

top -n 1
И варианти с цикли, което си става на практика монитор на живи данни, тъй като се опреснява през няколко секунди

Код за потвърждение: Избери целия код

while true; do dumpsys battery; sleep 5; done

Код за потвърждение: Избери целия код

while true; do echo "\nTemperatures\n"; dumpsys thermalservice |awk '/Current temperatures/{f=1;next} /Current cooling devices/{f=0}   {gsub ("Temperature{mValue=", "")}  {gsub ("mName=", "")} {gsub (",", "")}  f  {printf ("%.1f    %-s \n", $1, $3)} '; sleep 5; done
Друго много полезно нещо от шела е да се сменят настройки на телефона (вкл. скрити като например мелодия при отключване и заключване), на за това има и приложение - https://f-droid.org/packages/io.github. ... n.setedit/


П.с. още няколко чудесни приложения от f-droid:

1) приложение, което ни позволява да разберем дали службите ни следят чрез silent sms
https://github.com/itds-consulting/andr ... t-ping-sms
2) wattz - показва мощността на зарядното
https://f-droid.org/de/packages/dubrowgn.wattz/
3) Appmanager - ултимативното системно приложение...appops, проверки за тракери, вируси, библиотеки, памет, авто свързване с адб (първо кликате от бързите настройки адб, пускате приложението, пускате термукс и той вече е свързан)
https://f-droid.org/de/packages/io.gith ... ppManager/
Аватар
teou
Site Admin
Мнения: 3031
Регистриран на: 23 Ное 2012 19:57
Местоположение: Dreieich - Dreieichenhein (Hessen) / София / Синеморец
Обратна връзка:

Re: Проверка на амортизацията на батерията и други хакове (check battery degradation on android and other dev tools)

Мнение от teou »

Лек ъпдейт: на тема реален капацитет на батерията, поне на моя Пиксел 4а се оказа, че има хрограма която го чете коректно. Единствената която го чете коректно в реално време и съвпада с дъмпа е Aida64. Systempanel например показва предполагаем процент от каталожната стойност, т.е. грешно.

Ъпдейт 2: някакъв японец си е играл и е направил тестов апп само за това - https://play.google.com/store/apps/deta ... tterystats

Тук пък някакъв индонезиец е дал примерен сорс за още по-джиджан ап, но не е компилиран - https://yggr.medium.com/exploring-andro ... 64951fd9f6

п.с. а ето и един доста изчерпателен списък с команди за адб -https://github.com/mzlogin/awesome-adb/ ... ADME.en.md
Публикувай отговор