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

А он случайно не начинает пробовать отключить кабель? Я какую-то прилагу ставил для контроля заряда, так она програмно пробовала кабель отключать и дроид сбоил. Пришлось удалить.
Нет, кабель не отключает, передача данных не обрывается, все работает в адб и дроиде. По крайней мере на самсунгах (A03 Core, A04s). На очереди еще xiaomi, oneplus, google pixel.

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

Есть и другие идеи и рекомендации по поводу снижения перегрева и удобного размещения смартфонов, но раз уже 2 человека отписалось, то захламлять не будем.
 
Последнее редактирование:
  • Спасибо
Реакции: RipWay и alexeipigilov12
Yuriy Zymlex
Может последние посты про зарядку реально перенести в другую тему, чтобы тут не захламлять.
Тут скоро потребуется отдельная тема для обсуждения...
А в чем захламление? Вроде бы "полезно и для смартфонов". Перегрев\вздутие аккумуляторов думаю, что самая распространенная проблема. Модуль, что я предложил, определенно помогает в этом вопросе.

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

Возможно, тут бы ещё пригодилась инфа по ограничению напряжения по USB.
 
  • Спасибо
Реакции: Iv1 и FreddyKrueger
  • Спасибо
Реакции: mta и FreddyKrueger
Про энергопотребление есть большая хорошая статья
+ там если [persist.radio.multisim.config]: [dsds] переписать как [persist.radio.multisim.config]: [ds] то телефон сделается 1 симочным, вместо 2х что тоже позволит сэкономить потребление.
Только на реальном устройстве build.prop хрен просто так отредактируешь)) Подключение в recovery mode - не рассматриваю, потому что это жутко неудобно.
 
Подключение в recovery mode - не рассматриваю, потому что это жутко неудобно.
А вы там ещё не факт, что что-то сможете сделать, так как у системных разделов используется дедупликация и
по этой причине оно read-only, а места для распаковку - нет, но как знаю, для этого уже сделали модифицированные инструменты.
 
А вы там ещё не факт, что что-то сможете сделать, так как у системных разделов используется дедупликация и
по этой причине оно read-only, а места для распаковку - нет, но как знаю, для этого уже сделали модифицированные инструменты.
Где сделали эти инструменты?
 
Закрыть все вкладки
C#:
Развернуть Свернуть Копировать
var droid = instance.DroidInstance;
droid.App.CloseAll();
 
Последнее редактирование модератором:
  • Спасибо
Реакции: Hannes
Проверка состояния экрана (заблокирован\разблокирован\ожидает свайпа) и разблокировка при необходимости
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);
}
 
Подскажите как работает установка geo, должна ли быть включена геолокация на смартфоне? или не обязательно?
 
И включена и разрешение у используемого приложения на гео должно быть, но многое зависит от прошивки телефона
 
  • Спасибо
Реакции: alexeipigilov12
Проверка наличия текста на экране путем распознавания страницы через 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);
}
 
Если у Приложение работает "мимо прокси" то попробуйте перед открытием приложения исполнить этот код

C#:
Развернуть Свернуть Копировать
instance.DroidInstance.Proxy.UseDnsTcp = false;
instance.DroidInstance.Proxy.UseDnsUdp = false;
 
  • Спасибо
Реакции: Iv1
Если у Приложение работает "мимо прокси" то попробуйте перед открытием приложения исполнить этот код

C#:
Развернуть Свернуть Копировать
instance.DroidInstance.Proxy.UseDnsTcp = false;
instance.DroidInstance.Proxy.UseDnsUdp = false;
Это на случай, если прокси не пропускает DNS.
Необходимо сначала выполнить код, а потом установить прокси.
 
Это на случай, если прокси не пропускает DNS.
Необходимо сначала выполнить код, а потом установить прокси.
В моем случае не совсем так........ Хром работал со всеми прокси , а браузер от Я нет, по сути только это и исправило положение
 
Последнее редактирование:
Проверка наличия текста на экране путем распознавания страницы через 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);
}
У меня не работает!!!!!
 
Взялся реализовать решение смарткапчи от Я через сервис white-captcha , но как на зло сервер ихний упал.....
 
Взялся реализовать решение смарткапчи от Я через сервис white-captcha , но как на зло сервер ихний упал.....
Я ними работал, гадает хорошо, сервер спать ложиться также системно.
captcha-guru с ними работаю, там все есть. Работает четко
 
Не советую брать Galaxy A8 ( 2018 ) и Galaxy A12. На первом часто летит непроходящий RMM State: Prenormal, второй на некоторых версиях загрузчика не шьется. Есть небольшой шанс прошить только китайским платным софтом, предварительно разобрав девайс и замкнув контакты тестпоинт
 
  • Спасибо
Реакции: fazan
Кто может помочь с настройкой и сборкой проекта?
 
https://t.me/zennolabchat/1/469887
если ругается на "Не удалось запустить прокси", значит не удалось установить утилиту gnirehtet. Для решения ошибки нужно на телефоне в разделе "для разработчиков" помимо отладки по usb, дать разрешение на установку приложений по usb. Если у вас телефон xiaomi, то для включения этой функции понадобится войти в mi аккаунт. Плюс должна быть вставлена симкарта в телефон (обойтись только wi-fi не выйдет).
 
  • Спасибо
Реакции: brun0
Не плохая альтернатива ACCA для контроля зарядки Battery charge limit
 
Если не удается обновит/установить Magisk , то сразу включите впн (не РФ)
 
Изменилась верстка + капча гуру моросит, этот должен получше работать (не забываем прописать свой ключ)
Здравствуйте , нет случайно у вас нового решения ? это что-то не работает
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)