Полезное по смартфонам и ZennoDroid Enterprise

FreddyKrueger

Client
Joined
Sep 6, 2016
Messages
705
Reaction score
629
Points
93
А он случайно не начинает пробовать отключить кабель? Я какую-то прилагу ставил для контроля заряда, так она програмно пробовала кабель отключать и дроид сбоил. Пришлось удалить.
Нет, кабель не отключает, передача данных не обрывается, все работает в адб и дроиде. По крайней мере на самсунгах (A03 Core, A04s). На очереди еще xiaomi, oneplus, google pixel.

Yuriy Zymlex
Может последние посты про зарядку реально перенести в другую тему, чтобы тут не захламлять.
А в чем захламление? Вроде бы "полезно и для смартфонов". Перегрев\вздутие аккумуляторов думаю, что самая распространенная проблема. Модуль, что я предложил, определенно помогает в этом вопросе.

Есть и другие идеи и рекомендации по поводу снижения перегрева и удобного размещения смартфонов, но раз уже 2 человека отписалось, то захламлять не будем.
 
Last edited:

Yuriy Zymlex

Moderator
Staff member
Joined
Oct 24, 2016
Messages
6,559
Reaction score
3,388
Points
113
Yuriy Zymlex
Может последние посты про зарядку реально перенести в другую тему, чтобы тут не захламлять.
Тут скоро потребуется отдельная тема для обсуждения...
А в чем захламление? Вроде бы "полезно и для смартфонов". Перегрев\вздутие аккумуляторов думаю, что самая распространенная проблема. Модуль, что я предложил, определенно помогает в этом вопросе.

Есть и другие идеи и рекомендации по поводу снижения перегрева и удобного размещения смартфонов, но раз уже 2 человека отписалось, то захламлять не будем.
По перегреву: было бы ещё полезно ограничивать нагрев процессора, а особенно радиомодуля.
Так же по отзывам, на самсунге за троттлинг отвечает com.samsung.android.game.gos

Возможно, тут бы ещё пригодилась инфа по ограничению напряжения по USB.
 
  • Thank you
Reactions: FreddyKrueger

westruk

Client
Joined
Mar 30, 2020
Messages
367
Reaction score
119
Points
43

Iv1

Client
Joined
Feb 21, 2016
Messages
1,953
Reaction score
780
Points
113
Про энергопотребление есть большая хорошая статья
+ там если [persist.radio.multisim.config]: [dsds] переписать как [persist.radio.multisim.config]: [ds] то телефон сделается 1 симочным, вместо 2х что тоже позволит сэкономить потребление.
Только на реальном устройстве build.prop хрен просто так отредактируешь)) Подключение в recovery mode - не рассматриваю, потому что это жутко неудобно.
 

Yuriy Zymlex

Moderator
Staff member
Joined
Oct 24, 2016
Messages
6,559
Reaction score
3,388
Points
113
Подключение в recovery mode - не рассматриваю, потому что это жутко неудобно.
А вы там ещё не факт, что что-то сможете сделать, так как у системных разделов используется дедупликация и
по этой причине оно read-only, а места для распаковку - нет, но как знаю, для этого уже сделали модифицированные инструменты.
 

Iv1

Client
Joined
Feb 21, 2016
Messages
1,953
Reaction score
780
Points
113
А вы там ещё не факт, что что-то сможете сделать, так как у системных разделов используется дедупликация и
по этой причине оно read-only, а места для распаковку - нет, но как знаю, для этого уже сделали модифицированные инструменты.
Где сделали эти инструменты?
 

Yuriy Zymlex

Moderator
Staff member
Joined
Oct 24, 2016
Messages
6,559
Reaction score
3,388
Points
113
Где сделали эти инструменты?
Поищите... я только в IT новостях находил давно, а значит где-то есть.
 
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
Закрыть все вкладки
C#:
var droid = instance.DroidInstance;
droid.App.CloseAll();
 
Last edited by a moderator:
  • Thank you
Reactions: Hannes

Midnight

Client
Joined
Feb 28, 2016
Messages
322
Reaction score
185
Points
43
Проверка состояния экрана (заблокирован\разблокирован\ожидает свайпа) и разблокировка при необходимости
C#:
string power_dump = instance.DroidInstance.Input.Shell("adb shell dumpsys power", 60 * 1000);
bool mHoldingWakeLockSuspendBlocker = bool.Parse(Regex.Match(power_dump, "(?<=mHoldingWakeLockSuspendBlocker=).*").Value.Trim());
bool mHoldingDisplaySuspendBlocker = bool.Parse(Regex.Match(power_dump, "(?<=mHoldingDisplaySuspendBlocker=).*").Value.Trim());
if (mHoldingWakeLockSuspendBlocker && mHoldingDisplaySuspendBlocker){
    project.SendInfoToLog("display on, unlocked", true);
}
else if (!mHoldingWakeLockSuspendBlocker && mHoldingDisplaySuspendBlocker){
    project.SendInfoToLog("display on, locked", true);
    instance.DroidInstance.Input.Shell("adb shell input keyevent 82", 60 * 1000);
}
else if (!mHoldingWakeLockSuspendBlocker && !mHoldingDisplaySuspendBlocker){
    project.SendInfoToLog("display off, locked", true);
    instance.DroidInstance.Input.Shell("adb shell input keyevent KEYCODE_WAKEUP", 60 * 1000);
    instance.DroidInstance.Input.Shell("adb shell input keyevent 82", 60 * 1000);
}
 
Joined
Feb 20, 2019
Messages
293
Reaction score
35
Points
28
Подскажите как работает установка geo, должна ли быть включена геолокация на смартфоне? или не обязательно?
 
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
И включена и разрешение у используемого приложения на гео должно быть, но многое зависит от прошивки телефона
 
  • Thank you
Reactions: alexeipigilov12

Midnight

Client
Joined
Feb 28, 2016
Messages
322
Reaction score
185
Points
43
Проверка наличия текста на экране путем распознавания страницы через Tesseract. Полезно когда в структуре элементов пустота и по другому уже никак. Предварительно нужно подключить Tessercat.

C#:
string pattern = "pattern";
//
string text_ocr = string.Empty;
byte[] screenshot = instance.DroidInstance.Screen.ScreenshotAsArray();
Bitmap resizedBitmap;
using (MemoryStream ms = new MemoryStream(screenshot))
using (Bitmap originalBitmap = new Bitmap(ms)){
    int targetWidth = 640;
    int targetHeight = (int)Math.Round((double)originalBitmap.Height * targetWidth / originalBitmap.Width);
    resizedBitmap = new Bitmap(targetWidth, targetHeight);
    using (Graphics g = Graphics.FromImage(resizedBitmap)){
        g.DrawImage(originalBitmap, 0, 0, targetWidth, targetHeight);
    }
}
using (var api = OcrApi.Create()){
    api.Init(Languages.English);
    string text = api.GetTextFromImage(resizedBitmap);
    string[] lines = text.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
    text_ocr = string.Join(" ", lines);
}
if (text_ocr.Contains(pattern)){
    project.SendInfoToLog("Success", true);
}
else{
    project.SendInfoToLog("Fail", true);
}
 
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
Если у Приложение работает "мимо прокси" то попробуйте перед открытием приложения исполнить этот код

C#:
instance.DroidInstance.Proxy.UseDnsTcp = false;
instance.DroidInstance.Proxy.UseDnsUdp = false;
 

Yuriy Zymlex

Moderator
Staff member
Joined
Oct 24, 2016
Messages
6,559
Reaction score
3,388
Points
113
Если у Приложение работает "мимо прокси" то попробуйте перед открытием приложения исполнить этот код

C#:
instance.DroidInstance.Proxy.UseDnsTcp = false;
instance.DroidInstance.Proxy.UseDnsUdp = false;
Это на случай, если прокси не пропускает DNS.
Необходимо сначала выполнить код, а потом установить прокси.
 
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
Это на случай, если прокси не пропускает DNS.
Необходимо сначала выполнить код, а потом установить прокси.
В моем случае не совсем так........ Хром работал со всеми прокси , а браузер от Я нет, по сути только это и исправило положение
 
Last edited:
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
Проверка наличия текста на экране путем распознавания страницы через Tesseract. Полезно когда в структуре элементов пустота и по другому уже никак. Предварительно нужно подключить Tessercat.

C#:
string pattern = "pattern";
//
string text_ocr = string.Empty;
byte[] screenshot = instance.DroidInstance.Screen.ScreenshotAsArray();
Bitmap resizedBitmap;
using (MemoryStream ms = new MemoryStream(screenshot))
using (Bitmap originalBitmap = new Bitmap(ms)){
    int targetWidth = 640;
    int targetHeight = (int)Math.Round((double)originalBitmap.Height * targetWidth / originalBitmap.Width);
    resizedBitmap = new Bitmap(targetWidth, targetHeight);
    using (Graphics g = Graphics.FromImage(resizedBitmap)){
        g.DrawImage(originalBitmap, 0, 0, targetWidth, targetHeight);
    }
}
using (var api = OcrApi.Create()){
    api.Init(Languages.English);
    string text = api.GetTextFromImage(resizedBitmap);
    string[] lines = text.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
    text_ocr = string.Join(" ", lines);
}
if (text_ocr.Contains(pattern)){
    project.SendInfoToLog("Success", true);
}
else{
    project.SendInfoToLog("Fail", true);
}
У меня не работает!!!!!
 
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
Взялся реализовать решение смарткапчи от Я через сервис white-captcha , но как на зло сервер ихний упал.....
 

Midnight

Client
Joined
Feb 28, 2016
Messages
322
Reaction score
185
Points
43
У меня не работает!!!!!
Убедись что язык правильный выбран
C#:
api.Init(Languages.English);
У меня работает стабильно, но может нагружать процессор
 
Joined
Feb 20, 2019
Messages
293
Reaction score
35
Points
28
Взялся реализовать решение смарткапчи от Я через сервис white-captcha , но как на зло сервер ихний упал.....
Я ними работал, гадает хорошо, сервер спать ложиться также системно.
captcha-guru с ними работаю, там все есть. Работает четко
 

Midnight

Client
Joined
Feb 28, 2016
Messages
322
Reaction score
185
Points
43
Не советую брать Galaxy A8 ( 2018 ) и Galaxy A12. На первом часто летит непроходящий RMM State: Prenormal, второй на некоторых версиях загрузчика не шьется. Есть небольшой шанс прошить только китайским платным софтом, предварительно разобрав девайс и замкнув контакты тестпоинт
 
  • Thank you
Reactions: fazan

rooboting

Новичок
Joined
Mar 7, 2024
Messages
3
Reaction score
0
Points
1
Кто может помочь с настройкой и сборкой проекта?
 

Vlad_Curnoi

Client
Joined
Aug 9, 2017
Messages
492
Reaction score
206
Points
43
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
Кто может помочь с настройкой и сборкой проекта?
1 словом НИКТО
Оформи корректное ТЗ и опубликуй тут или вот тут , а не как этот ......... может кто и поможет и хватит спамить
 

rooboting

Новичок
Joined
Mar 7, 2024
Messages
3
Reaction score
0
Points
1
1 словом НИКТО
Оформи корректное ТЗ и опубликуй тут или вот тут , а не как этот ......... может кто и поможет и хватит спамить
2 сообщения, это спам? разница во времени по созданию поста сутки. Что за нытье?
Спасибо за ссылки
 

Yuriy Zymlex

Moderator
Staff member
Joined
Oct 24, 2016
Messages
6,559
Reaction score
3,388
Points
113
https://t.me/zennolabchat/1/469887
если ругается на "Не удалось запустить прокси", значит не удалось установить утилиту gnirehtet. Для решения ошибки нужно на телефоне в разделе "для разработчиков" помимо отладки по usb, дать разрешение на установку приложений по usb. Если у вас телефон xiaomi, то для включения этой функции понадобится войти в mi аккаунт. Плюс должна быть вставлена симкарта в телефон (обойтись только wi-fi не выйдет).
 
  • Thank you
Reactions: brun0
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
Не плохая альтернатива ACCA для контроля зарядки Battery charge limit
 
Joined
Dec 23, 2014
Messages
688
Reaction score
232
Points
43
Если не удается обновит/установить Magisk , то сразу включите впн (не РФ)
 

frion-seo

Client
Joined
Feb 27, 2011
Messages
539
Reaction score
472
Points
63

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)