Как производить отладку кода решения написанного для мобильного устройства
Перейти к содержимому

Как производить отладку кода решения написанного для мобильного устройства

Отладка native-кода под Android: ручное и автоматизированное тестирование

С развитием и ростом популярности ОС Android количество и разнообразие устройств под её управлением неуклонно растёт. Из-за различий в архитектуре, предназначении и оптимизации скорость и стабильность работы исполняемого кода может значительно изменяться. Поэтому, для обеспечения стабильности и оптимизации работы приложений и ОС, особенно использующих особенности конкретной архитектуры, платформы, или кода, портированного с других платформ, стоит особо внимание уделить процессу отладки кода под Андроид. В этой статье пойдёт речь о ключевых моментах и особенностях работы с native-кодом под Android. Всем, кому интересен этот мануал, прошу под кат.

image

В далёком 2007 году корпорация Google выпустила операционную систему нового поколения – Android.

Её появление совершило настоящую революцию на рынке мобильных устройств, подавив гегемонию Microsoft Widows Mobile, Apple iOS и Symbian OS, в последствие став самой популярной и массовой операционной системой для мобильных систем в мире. До сих пор рост популярности системы продолжается. За прошедшие шесть лет Android очень сильно разросся и развился, и спектр поддерживаемых устройств продолжает увеличиваться. Теперь это операционная система используется не только в мобильных телефонах, но также и в планшетах, телевизорах, плеерах, фотоаппаратах, ноутбуках, неттопах и прочих экзотических вещах, вплоть до военной техники. Начинки этих устройств могут весьма заметно отличаться друг от друга: за прошедшие годы перечень поддерживаемых архитектур расширился с ARM до MIPS и х86, появилась поддержка различной периферии, не говоря о непременно развивающемся Android API.

Такое огромное количество различных устройств, несмотря на их функциональные и архитектурные различия, управляются одной и той же системой, за вычетом платформозависимых библиотек и оптимизаций под конкретные устройства. Вполне закономерно, что сборки Android и даже зачастую библиотеки приложений отличаются друг от друга, зачастую даже в зависимости от вендора, так как требования к производительности лишь увеличиваются в условиях жесткой конкуренции растущего рынка устройств на платформе Android.

Тем не менее, обеспечение унификации и кроссплатформености, быстроты работы приложений – одно из приоритетных направлений сегодняшнего рынка высокопроизводительных приложений и сборок системы. Это, в первую очередь, означает повышенные требования к самой операционной системе, способной работать и делать это эффективно на различном аппаратном обеспечении, так и высокие требования к приложениям для Android.

Одним из самых эффективных решений для оптимизации и ускорения работы приложений, системы и её компонентов является оптимизация на родном, native-уровне. Другими словами, использование для приложений и системы оптимизированных, часто аппаратно-зависимых библиотек и кода, а в глобальном смысле – целого ряда библиотек, поставляющихся для каждой из целевых платформ. Такое многообразие аппаратных платформ, различных версий операционной системы, платформ API и требований к обеспечению стабильной и быстрой работы приложений требует значительных усилий на тестирование приложений, библиотек под конкретные конфигурации.

Тем не менее, одним из самых удобных инструментов для разработчика Android до сих пор является пакет Android NDK – Android Native Development Kit, включающий в себя почти всё необходимое для разработки и отладки приложений, библиотек и самой системы.

В данной статье я рассмотрю его использование для тестирования и отладки native-кода Android и автоматизацию тестирования на примере такого фреймворка, как DejaGnu.
Android развивается очень динамично, и теперь в поставку DejaGnu входит почти что всё необходимое для быстрого старта тестирования – как с Android NDK, так и без него. Главной задачей данной статьи будет рассказ о нюансах и особенностях тестирования под Android и некоторых подводных камнях, с которыми могут столкнуться инженеры.

Для начала небольшая ремарка: Android, как известно, является Unix-like операционной системой, очень схожей с обычным Linux или BSD, и большинство исходного кода Android следует лицензии, ASL2.0. Кто работал с Android, знает, что немалое количество модулей Android перешли из BSD в большей степени, чем из Linux. Тем не менее, всё, что касается native-кода и архитектуры, если не вдаваться в подробности, очень близко и известно всем тем, кто использовал Linux. Поэтому для разработки и отладки кода вполне возможно использовать точно такие же или схожие инструменты, что и для Unix-like систем. В случае компиляторов – это gcc, clang (llvm), icc и прочие. То же самое можно сказать и насчёт всего GCC toolchain и некоторых других утилит, которые либо уже портированы, либо портировать не так сложно.

Главной причиной включения в приложение native-кода или использования native-библиотек, native-исполнимых файлов является стремление увеличить производительность или переиспользовать ранее написанный код C/C++/ASM с Linux/Unix-like систем.

Преимущества использования native-кода:
• Высокая производительность
• Прямое использование CPU/HW особенностей
• Возможность переиспользования существующего Linux кода

Недостатки использования native-кода:
• Индивидуальная настройка под CPU/HW
• Недостаточная поддержка системных библиотек

Плюсы и минусы требуют тщательного тестирования, как по качеству кода, стабильности, так и по его производительности на разных платформах. Несмотря на то, что одним из постулатов Android является независимость от железа, для обеспечения работы на различных конфигурациях, в действительно приложения с native-кодом поставляются в так называемых fat binary (apk, включающие в себя native-код/библиотеки для всех возможных конфигураций оборудования, под которым будет работать приложение). Несмотря на то, что в идеале NDK компилятор должен создавать функционально равнозначный код для различных конфигураций и, следовательно, библиотеки для fat binary (или системные – для образа) должны быть равнозначными — это, к сожалению, не всегда соответствует действительности и требует проверки, особенно когда дело касается оптимизации (Neon и SSE например) и использования сторонних библиотек.

Кроме того, с развитием ОС Android и устройств под её управлением, закономерно меняются различные версии ОС, поставка этой ОС, а так же специфика устройств. В некоторых случаях для разработчика оправдано использование каких-то оптимизаций или иного компилятора для сборки native-кода. Оценка производительности, правильности и стабильности этого кода на различных конфигурациях – задача тестировщика, занимающегося Android Native тестированием.
Процесс сборки, отладки и тестирования native приложений под Android не сильно отличается от того же процесса на Linux, с единственной разницей, что мы собираем бинарные файлы (исполнимые и библиотеки) не в Android, а на хосте (Linux, MacOS, Windows) и исполняем на устройстве Android (физическом или эмуляторе). Поэтому универсальным средством коммуникации хоста с устройством под управлением Android является adb – Android Debug Bridge, входящий в состав Android SDK. Для сборки и отладки приложений целесообразно использовать тот toolchain и API, который нам нужен, а так же, при необходимости (для c++), интересующую нас версию библиотеки stdc++.

    версиям используемого API:

Впрочем, с точки зрения разработчика и тестировщика, различий между получаемым кодом в зависимости от билд-хоста быть не должно, и использовать для проверки и тестирования различные конфигурации билд-хостов вовсе не обязательно.
Количество вариантов для тестирования угрожающе разрастается, и это не беря в расчёт оптимизации по CPU инструкциям: neon, core-avx2, core-i7, atom, slm; по размеру\скорости и прочие. Все это декартово произведение вариантов полученного кода (исходного и бинарного) является отправной точкой для тестирования. В случае же, когда целью тестирования является само устройство или какой-то кастомная сборка Android, то, вполне вероятно, главным весомым различием будет библиотека bionic – аналог библиотеки libc для Android.

Закончив вводную теорию, самое время перейти к практике.

Инструменты для ручной сборки и тестирования

Все необходимые инструменты входят в поставку Android NDK, которая есть для 32 и 64 бит под Linux, MacOS, Windows.

Создание и запуск приложения

В случае совпадения архитектуры host и target (обычно речь идёт о x86) и наличия root привилегий, вполне возможно использовать при желании хитрый трюк с запуском Android x86 бинарников на хосте. Для этого нужно явным образом использовать dynamic linker для Android на системе (/system/bin/linker), а так же использовать non-stripped версию bionic в путях (LD_LIBRARY_PATH). См пример Makefile: (https://android.googlesource.com/platform/bionic/+/master/tests/Android.mk: bionic-unit-tests-run-on-host).

Такой трюк, например, актуален для исполнения бинарных файлов без эмулятора (в случае отсутствия 64-битного образа или использования -mx32).

GCOV и профили

image

Дебаг\отладка: GDB/logcat
Автоматизация тестирования

Для автоматизации тестирования можно использовать такой фреймворк, как dejagnu. Начиная с февраля 2013 в состав DejaGnu входит борд androideabi, позволяющий производить тестирование native-кода на Android через adb.

В целом всё аналогично тому, что было описано выше, за исключением некоторых нюансов.

Для многих тестов dejagnu критичны проверки host/target триплетов. Например, как минимум для того, чтобы понять, возможен ли запуск бинарного файла на устройстве, зачастую выполняется проверка host=target=build (native). Однако, в нашем случае, вообще говоря, build_triplet не равен target_triplet, но при этом мы вполне способны и выполнять, и получать результаты на Android. Кроме того, следует учесть тот факт, что по умолчанию NDK использует флажок –fpic, что так же влияет на возможность запуска тестов и их результаты (проверка effective-target pic/nonpic). В случае же статической (static) линковки следует иметь в виду, что, возможно, так же не всё будет соответствовать ожиданиям (библиотеки static, dynamic могут разниться между собой и порождать разный код (-fpic/-fpie). Также некоторые тесты критичны к директории запуска или указанию директории для результатов; и прежде чем запускать бинарный файл, следует сменить директорию на нужную. Кроме того, во время переноса бинарного файла на устройство, права на запуск могут быть сброшены (из-за прав на папку или прав на файловую систему), поэтому так же стоит убедиться, что для исполнимого файла установлен executable bit. Кроме того, лучшим решением для организации тестирования является использование не sd-карты, а ram-диска с правильными правами, чтобы избежать быстрого износа первой.

Чтобы запустить тестирование на Android достаточно выполнить при установленной dejagnu на хосте:

Следует убедиться, что у вас явным образом указана переменная ADB_SERIAL, соответствующая серийному номеру вашего устройства.
Однако гораздо удобнее и приятнее запускать тестирование через локальный конфигурационный файл — site.exp

Например, конфигурационный файл для запуска gcc testsuite:

и для запуска того же самого gcc:

Замечание: обратите внимание, что следует убедиться, что во время запуска проверки gcc кем-то не будет перетёрта переменная GCC_EXEC_PREFIX, и то, что она unset.

  • sysroot
  • пути к библиотекам и заголовочным файлам
  • флаги и подключаемые библиотеки (как минимум для линовки libstdc++)

Исходя из этого, лучшим решением является использование обёртки исполнимого файла из toolchain (wrapper-binaryname), примерно следующего вида:

wrapper-gcc
wrapper-g++

При необходимости, если надо получить какие-то данные из Android, то мы можем использовать функцию remote_upload (adb_upload %target_board% %source% %dest%). Эта функциональность должна предоставляться со стороны testsuite.

Профилирование, тестирование производительности
  • perf
  • oprofile
  • sep

Тестирование производительности на Android возможно производить не только с помощью бенчмарков, работающих через Dalvik, но так же и на native-уровне, т.е. используя бенчмарки, собранные тем же самым Android NDK. В качестве примера: SPEC, EEMBC, CoreMark.

  • режим работы процессора
  • приложения, запущенные в фоне
  • чистота запуска, и ошибки (которые можно и нужно отслеживать через logcat/dmesg)
  • Отключены все второстепенные службы и приложения
  • Устройство используется монопольно
  • На устройстве жёстко выставлен режим работы

Например, для тестирования CPU типичная практика – это установка всех процессорных ядер и частот в равное значение и их фиксация. При необходимости отключение всех ядер, кроме того, на котором происходит тестирование.

Следует убедиться, что значение
/sys/devices/system/cpu/cpuX/cpufreq/online так же установлено правильно в зависимости от бенчмарки\профиля и\или потребностей тестирования.
Только убедившись, что всё работает в нужном режиме (cat /proc/cpuinfo) можно начинать тестирование и анализ.

Для упрощения работы и отладки native-кода, для Android существует набор утилит busybox, который не входит в поставку Android по умолчанию (т.к. поставляется по лицензии GPL 2.0).
[, [[, ar, arp, awk, base64, basename, bbconfig, beep, blkid, blockdev, bootchartd, bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod, chown, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm, cp, cpio, crond, crontab, cttyhack, cut, dc, dd, deallocvt, depmod, devmem, diff, dirname, dmesg, dnsd, dos2unix, dpkg, dpkg-deb, du, dumpkmap, echo, ed, egrep, env, envdir, envuidgid, expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat, fdisk, fgconsole, fgrep, find, findfs, flash_lock, flash_unlock, flashcp, flock, fold, free, freeramdisk, fsync, ftpd, ftpget, ftpput, fuser, getopt, grep, gunzip, gzip, halt, hd, hdparm, head, hexdump, httpd, hwclock, ifconfig, ifdown, ifup, init, inotifyd, insmod, install, iostat, ip, ipaddr, ipcalc, iplink, iproute, iprule, iptunnel, klogd, less, linuxrc, ln, loadkmap, losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat, lzma, lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg, mkdir, mkfifo, mknod, mkswap, mktemp, modinfo, modprobe, more, mpstat, mv, nbd-client, nc, netstat, nice, nmeter, nohup, od, openvt, patch, pidof, ping, pipe_progress, pmap, popmaildir, poweroff, powertop, printenv, printf, ps, pscan, pstree, pwd, pwdx, raidautorun, rdev, readlink, readprofile, realpath, reboot, reformime, renice, reset, resize, rev, rm, rmdir, rmmod, route, rpm, rpm2cpio, rtcwake, run-parts, runsv, runsvdir, rx, script, scriptreplay, sed, sendmail, seq, setconsole, setkeycodes, setlogcons, setserial, setsid, setuidgid, sha1sum, sha256sum, sha3sum, sha512sum, showkey, sleep, smemcap, softlimit, sort, split, start-stop-daemon, strings, stty, sum, sv, svlogd, switch_root, sync, sysctl, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp, tftpd, time, timeout, top, touch, tr, traceroute, true, ttysize, tunctl, tune2fs, udpsvd, uname, uncompress, unexpand, uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, volname, watch, wc, wget, which, whoami, whois, xargs, xz, xzcat, yes, zcat

Использование подхода, описанного в статье, позволяет быстро и легко портировать тестирование из Linux на Android, создавать с нуля и производить отладку для различных конфигураций оборудования и эмуляторов с наименьшими затратами времени.

Как включить отладку по USB на андроид – 10 способов

  1. На смартфоне заходим в раздел «Настройки».
    Настройка в андроиде
  2. Выбираем пункт «О телефоне»/«О планшете».
    Настройки в телефоне
  3. В открывшемся окне ищем строку «Номер сборки»/«Версия MIUI» и нажимаем на него пару раз (возможно, придётся нажать 8-10 раз, главное – нажимать без перерывов).
    НАжатие на номер сборки
  4. Возможно, придётся ввести пароль. В результате, на экране должно появится сообщение: «Вы стали разработчиком».
  5. Далее вы увидите в меню «Настройки» новый раздел «Для разработчиков».
    Раздел для разработчиков
  1. Открываем «Настройки»-«Дополнительно»-«Для разработчиков».
  2. Здесь переключаете бегунок на «Вкл».
    Ползунок в положение вкл
  3. Откроется окно с просьбой разрешить отладку. Нажимаем «Ок».
    Согласие
    Так вы сможете решить вопрос, как включить или отключить отладку по USB. После этого можете приступать к необходимым процессам на смартфоне в специальном режиме.

Отладка по USB, как включить на Android 9, 10, 11

  1. Заходим в «Настройки», выбираем раздел «О телефоне». О телефоне
  2. Находим в списке графу «Номер сборки», нажимаем на него несколько раз и вводим пароль, так будет включён «Режим разработчика». Кликать много раз на номер сборки
  3. Возвращаемся в основное меню «Настройки» и выбираем вкладку «Система»
    Настройки и система
  4. Далее зайдите в отдел “Дополнительно
    Дополнительный раздел
  5. Теперь откройте раздел для “Разработчиков
    Для разработчиков
  6. Переведите ползунок в положение “ВКЛ
    Включение отладки

Как включить режим отладки на Android 8, 7, 6, 5

  1. Включить «Режим разработчика» так же, как и на более новых версиях Андроид через «Настройки»-«О телефоне».
  2. После этого заходим вновь во вкладку «Настройки»- «Для разработчиков».
  3. Находим строку «Отладка». Здесь включаем функцию «Отладка по USB».

Как включить отладку по USB на старых версиях Android 4.2 и ниже

  1. Открываем «Настройки» и переходим во вкладку «Приложения».
    Приложения
  2. Далее следуем в окно «Разработка».
    Раздел с разработкой
  3. Уже после включаем режим отладки по USB.
    Поставить галочку
  4. Для подтверждения нажимаем «Да».

USB debugging на Samsung

  1. Заходим в меню «Настройки», выбираем раздел «О телефоне» и включаем данный режим.
  2. Входим в «Настройки».
  3. Нажимаем на значок «Параметры разработчика», он отобразится после активации режима разработчика.
  4. Вы увидите вкладку со списком всех доступных опций в расширенном формате. Выбираете раздел «Отладка».
    Активируете «Отладка USB».
  5. Разрешаем телефону отладку по USB.
    Нажимаете «Ок».

На Honor Huawei

  1. Включаете «Настройки»-«Система».
  2. Выбираете вкладку «О телефоне».
  3. Нажимаете на строку «Номер сборки» несколько раз, пока не появится сообщение: «Вы стали разработчиком!».
    Нажатие на сборку
  4. После этого возвращаемся в раздел «Система» и переходим во вкладку «Для разработчиков».
  5. Находим строку «Отладка по USB», включаем её.
    Включение отладки
  6. Подтверждаем действие – «Ок».

Как включить отладку по usb на андроид Xiaomi

  1. В меню «Настройки» выбираете графу «О телефоне».
  2. Листаете до строки «Версия MIUI» и несколько раз нажимаете на неё, пока не появится уведомление о том, что вы стали разработчиком.
    Нажатие на MIUI
  3. Возвращаемся в основное меню «Настройки» и переходим к разделу «Расширенные настройки».
  4. Далее открываем параметр «Для разработчиков»-«Отладка».
  5. Делаем активной строку «Отладка по USB».
    Ползунок
  1. Установить на компьютер программу ADB (Android Debug Bridge). Для настройки
    Программа
  2. После скачивания распаковываем архив в доступную папку. из этой папки. Для этого нажимаем правой кнопкой мыши на свободное пространство папки и зажимаем кнопку «Shift».
  3. В открывшемся окне выбираем параметр «Открыть окно PowerShell».
    Окно
  4. Подключаем ваш телефон. Для этого изменяем режим USB на режим «передачи файлов (MTP)».
  5. В командной строке вводим: adb devices
  6. На экране телефона появится окно с просьбой разрешить доступ. Нажимаем «Ок».
  7. Ещё раз вводим команду adb devices.
  8. В командной строке должен появится серийный номер вашего устройства. После этого устройство готово к подключению к компьютеру. Вы можете работать в режиме отладки по USB и пользоваться фирменной утилитой HiSuite.Чтобы проверить исправность подключённого режима, подключаете устройство к вашему ПК с помощью кабеля (до этого обязательно установите драйвера для него). Запускаете программу ADB или любую другую для работы со смартфоном, и появится окно с запросом о подключении. Стоит разрешить действие, и можете приступать к работе.

После включения отладки по USB: авторизация компьютера на Android 4.2 и выше

Отладка по USB включена, и устройство Android не определяется

  • В такой ситуации, прежде всего, проверьте наличие нужных драйверов Android, если необходимо переустановите или обновите их.
  • Ещё одной причиной этой ошибки может быть блокировка смартфона или планшета. Для корректной работы режима отладки по USB следует разблокировать устройства.
    Кроме этого не рекомендуем использовать порт USB 3.0, только USB 2.0.
  • Если ничего из вышеперечисленного не помогло, и вы всё равно задаётесь вопросом, как включить режим отладки USB, советуем изменить вид подключения к компьютеру. Для этого:
  1. Подключаем устройство к ПК.
  2. Тянем информационный бар вниз и выбираем раздел «Выбрать подключение USB»
  3. Нажимаем на «Режим PTP».Таким образом, вы сможете подключить устройство к компьютеру и начнёте необходимую работу со смартфоном или планшетом.

Выключение режима

Заходите в «Настройки» и перетаскиваете ползунок напротив строки «Для разработчиков» в неактивную позицию.

Отладка конфигураций на мобильной платформе

  • Шаг 1.
  • Шаг 2.
  • Шаг 3.
  • Шаг 4.
  • Шаг 4.
  • Шаг 5.
  • Шаг 6.
  • Шаг 7.
  • Шаг 8.
  • Шаг 9.
  • Шаг 10.
  • Шаг 11.
  • Шаг 12.
  • Шаг 12.
  • Шаг 13.

Я поделюсь решением задачи, с которой столкнулся совсем недавно, а именно отладкой кода, выполняемого на мобильной платформе. Это было мое первое знакомство с новом механизмом отладки, который впервые появился на платформе 8.3.7, а именно отладка через HTTP. Абзац, который был посвящен описанию того, как важен иснтрумент отладки при разработке конфигураций, я в итоге вырезал, поэтому перейдем сразу к делу.

Исходные данные:

Стациональная платформа 1C:Enterprise 8.3 (8.3.8.2054)

Мобильная платформа 8.3.9.66 (тестовая)

Windows Server 2012 R2 Standard + Apache 2.2

Android 6.0.1 (Sony Z5 compact)

Примечание. Для чистоты экспериментов я всегда рекомендую использовать чистый сервер со статичным внешним IP. Получить такой можно с помощью множества хостинговых площадок, которые за несколько минут и за сумму от 500р в месяц предоставят вам девственно чистый сервер, который идеально подойдет для тестов.

Шаг 1. Создадим простую конфигурацию для мобильной платформы.

Шаг 2. Создадим общую команду с простым кодом.

Шаг 3. Опубликуем мобильную конфигурацию на веб-сервере.

Примечание. Я исхожу из того, что у вас уже есть опыт публикации баз данных на веб-сервере 1С в общем и мобильных конфигураций в частности, и не описываю установку и настройку Apache и доступность портов.

Шаг 4. Установим параметры отладки Меню — Сервис — Параметры — Отладка. Перезапускаем конфигуратор.

Примечание. Протокол отладки устанавливаем как "Отладка по протоколу HTTP". Сервер отладки как "Использовать локальный сервер отладки". Адрес локальной сетевой карты — указываете IP адрес сетевой карты вашего сервера. В качестве порта указываете любой не занятый порт.

Шаг 5. Проверим установленные параметры отладчика Меню — Отладка — Подключение — Настройка.

Шаг 6. Настроим автоматическое подключение отладчика Меню — Отладка — Подключение — Автоматическое подключение.

Шаг 7. Проверяем работу отладчика в браузере на локальном сервере (там же где и был запущен конфигуратор с отладчиком).

Шаг 8. Открываем порт (указанный нами на шаге 4) для внешнего доступа.

Шаг 9. Проверяем работу отладчика в браузере с другого компьютера.

Шаг 10. В мобильном приложении на смартфоне добавляем новую конфигурацию.

Шаг 11. В качестве сервера отладки указываем наш адрес отладки (шаг 5).

Шаг 12. Проверяем работоспособность нашей команды.

Шаг 13. Ставим точку останова и снова выполняем команду.

Надеюсь, подобная мини-инструкция поможет вам настроить отладку кода вашей мобильной конфигурации и облегчит жизнь при разработке приложения для мобильных устройств. С вопросами добро пожаловать в комментарии.

Специальные предложения

Electronic Software Distribution

Маркировка 488-ФЗ

Интеграция 1С с системой Меркурий

Готовые переносы данных

Алкогольная декларация

54-ФЗ

Инструментарий разработчика

Маркетплейсы и 1С

Траектория обучения 1С-разработчика

Управление проектом на Инфостарте

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Как считаете это баг или фича))? И почему 1с не фиксит такую бяку. Я очень много часов убил на изучение данной проблемы пока нашел ваш ответ, коллега. Огромное спасибо.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Кирилл, спасибо. Очень помогли. Заработало. База клиент-серверная. Отладка заработала.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Остановился на шаге 10.
Вопрос: где это окно добавления базы на мобильнике?
У меня стоит конфа (из апк файла), но если там я базу пытаюсь добавить — он просто делает копию базы.

Как добавить базу, чтобы можно было указать ip адрес?

Какую-то спец. платформу ставить на телефон или что?

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Что-то при подключении по ай-пи выдало ошибку:
Неправильный формат конфигурации
по причине:
Ошибка разбора XML: — [1,52]
Фатальная ошибка:
Space required after the Public Identifier
SystemId: file:///data/data/com.e1c.mobile/files/1C/1cem/1cema.xml

Какой он пробел просит после публичного идентификатора?
Никто не знает, что за ошибка?

Платформа мобильная 8.3.10.51 На пк 8.3.10.2466 и 8.3.20.2505 — обе пробовал

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(29) у меня та же ошибка

Что-то при подключении по ай-пи выдало ошибку:
Неправильный формат конфигурации
по причине:
Ошибка разбора XML: — [1,55]
Фатальная ошибка:
Space required after the Public Identifier
SystemId: file:///data/data/com.e1c.mobile/files/1C/1cem/1cema.xml

мобильная платформа 8.3.11.57, на пк 8.3.11.3034

пытаюсь запустить конфу «библиотека подключаемого оборудования для мобильной платформы»

ошибка получается на андроиде при загрузке базы.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

п1.- п9 все работает отлично. (купил место на хостинге ultravds.com) В мобильной платформе (8.3.9.74) при попытке загрузить, долго думает и выдает «Превышено время ожидания» и всё.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(36) Все сделал на ПК и в сети все работает (видит ай-пи и пишет it works)
Но телефон в упор не видит мой ип-шник?

В браузер ссылку вставляю и тишина

Как раскочегарить телефон, чтобы работала отладка, чтобы он видел комп?

У меня Андроид 9. Режим передачи файлов по usb включил

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Ставлю IP локального пк где база — в браузере проверку прохожу.

Ставлю внешний IP — не запускается даже конфигуратор. Выдает ошибку — «Ошибка установки соединения»

  • Скопировать ссылку
  • Перейти

Просмотры 57697

Загрузки 0

Рейтинг 131

Создание 25.09.16 11:01

Обновление 25.09.16 11:01

№ Публикации 551004

Тип файла Нет файла

Конфигурация Не имеет значения

Операционная система Не имеет значения

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Не указано

См. также

Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо

Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.

14.04.2017 69200 user700211_a.straltsou 30

Пакет новых элементов к Simple UI. Май 2022

Новые поля ввода, кнопки и т.д. Основная статья тут: http://infostart.ru/public/1153616/

04.05.2022 608 informa1555 2

Настройка рабочего места для мобильной и веб-разработки в 1С для самых маленьких

Совсем недавно встала необходимость подготовить рабочее место для разработки мобильного приложения на 1С, подробного гайда в интернете не нашел (может, искал плохо), поэтому решил написать свой. В конце будет один неочевидный момент, без которого "не заводится".

18.04.2022 2992 AntonChausov 12

Мобильная бригада — приложение ТОиР на мобильной платформе 1С для ускорения выполнения ремонтов

Мобильная бригада — универсальное приложение для удаленной работы с 1С:ТОИР. Включив в свой арсенал мобильные гаджеты с приложением, ремонтная служба приобретает ряд преимуществ: ускорение приема и обработки заявок на ремонты, снижение количества ошибок предоставления и ввода данных, оперативное отслеживание изменений, немедленная обратная связь, удаленный доступ ко всей необходимой информации и повышение дисциплины. «Мобилизация» проходит быстро. Практика показала: научиться работать с помощью смартфона для линейных рабочих проще, чем освоить компьютер.

15.02.2022 815 Desnol_Soft 10

Фитнес – твой личный тренер в зале и дома Промо

Хочешь быть здоровым, прекрасно выглядеть и неустанно стремишься к совершенству? Фитнес поможет достигнуть реальных результатов на пути к идеальной фигуре и здоровому телу.

15.04.2016 38617 Baksheev-Nikita 54

Мобильное приложение "Дорожный ассистент" для 1С

Пример реализации мобильного приложения для водителей грузового транспорта. Frontend: React-Native. Backend: 1С.

14.02.2022 829 80lvlAPP 8

Android на Windows 11 стандартными средствами [Шпаргалка]

Шпаргалка по установке apk на Windows 11, используя стандартные средства ОС.

09.02.2022 3603 dsdred 15

Новые подходы к дистрибуции решений Simple UI, GitHub, переопределение меню и другое

Множество полезных новшеств для Simple UI, в основном направленных на управление конфигурациями. Но также, например, по многочисленным просьбам решен вопрос с меню. Дополнение к основной статье https://infostart.ru/public/1153616/

02.02.2022 1074 informa1555 9

Пак дополнений к Simple UI, декабрь 2021

Большой пакет полезностей и красоты. Примеры к этой статье в демо-базе в конфигурации «Примеры 6». Эта статья является дополнением к основной статье https://infostart.ru/public/1153616/

27.12.2021 916 informa1555 0

Использование ORM вместо работы с чистым SQL

Маленькая заметка про небольшой, но полезный релиз Simple UI. Дополнение к основной статье https://infostart.ru/public/1153616/

25.11.2021 2341 informa1555 10

Мобильное приложение на 1С без никого. За полчаса.

Мобильное приложение на коленке за полчаса без никого.

27.10.2021 8921 starik-2005 57

Распознавание лиц

В новом релизе в режим дополненной реальности ActiveCV в платформе Simple UI добавлен новый тип детектора — распознавание лиц. Платформа детектирует лица в кадре, оправляет их на ваш сервер распознавания (написанный на открытом скрипте на python) получает ответ в виде идентификатора, а дальше отображает в видеопотоке и вписывает их в логику вашего приложения. Таким образом хранение семплов, выбор и настройки алгоритмов распознавания и сам сервер находится за пределами платформы, открыт и построен на бесплатных технологиях. Данный пост является дополнением к основной статье https://infostart.ru/public/1153616/

26.07.2021 2830 informa1555 9

Мобильное приложение для учета личных финансов

Когда-то давно я написал свою программу по учету денег на мобильной платформе. Недавно я привел ее в человеческий вид, для своих знакомых, чтобы они тоже могли ей пользоваться. А сейчас решил выставить на обозрение общественности. Также поделюсь тем, как я веду учет личных финансов. Надеюсь, кому-то будет интересно.

08.07.2021 2893 coollerinc 21

Фоновый сервис событий в Simple UI. Релиз Июнь 2021

В новом релизе появился постоянно висящий в памяти сервис для обработки внешних событий – штрихкодов, голосового ввода, сообщений от других программ и внутренних процессов. Который может управлять программой поверх стандартных процессов – что то спрашивать голосом, что то озвучивать(ассистент), показывать диалоги, запускать процессы и экраны, отправлять управляющие команды. С помощью этого можно получить многоплановый интерфейс и более удобное взаимодействие с пользователем не только через экран и ввод, но и с помощью событий голосового ввода и других средств взаимодействия. Эта статья является дополнением к основной статье по Simple UI: https://infostart.ru/public/1153616/

15.06.2021 2577 informa1555 0

Релиз Simple UI май 2021: плиточные экраны, плиточное главное меню, картинки из кеша, новое взаимодействие с ТСД и т.д.

В релизе Simple UI 5.75.00 добавлен новый вид интерфейса – «плитки» и возможность переопределения стартового экрана, а также другие нововведения. Также важное нововведение — новый режим взаимодействия с некоторыми моделями ТСД — через подписку на сообщения. Дополнение к основной статье: https://infostart.ru/public/1153616/

17.05.2021 2915 informa1555 0

1С в мобильном и лицензионная политика

На екатеринбургском онлайн-митапе заместитель директора НП ППП и руководитель мобильного направления в фирме «1С» Анна Лавринова рассказала о мире мобайла в сфере 1С, примерах мобильных приложений и особенностях их лицензирования.

31.03.2021 2066 1C_lava 4

Перевод с помощью Google Translate (мобильная версия, без API)

Пример реализации перевода с помощью Google Translate (мобильная версия, без API).

26.03.2021 1132 mars2005 5

Как избавиться от горизонтальных серых разделителей (полосок) между элементами в форме мобильного приложения

На профильных форумах часто возникает вопрос, как избавиться от горизонтальных полос-разделителей между элементами на формах мобильного приложения. Часто предлагают использовать декорации или html-поле. Однако, есть простое решение.

17.03.2021 1634 Moroz2009 9

Большой пак дополнений март 2021: регламентные задания, распознавание дат и чисел, оповещения, поля с автозаполнением и многое, многое другое

Релиз с огромным количеством дополнений. Дополнение к основной статье Simple UI: https://infostart.ru/public/1153616/ Перечень изменений: 1. Оптическое распознавание дат в разных форматах 2. Оптическое распознавание чисел в разных форматах 3. Запуск кода из кода синхронно/асинхронно в фоне (Python) 4. Регламентные задания с расписанием от 1 мс 5. Всплывающие сообщения 6. Уведомления из любого контекста простые 7. Уведомления с ответом (для Anroid начиная с Oreo) 8. Поле ввода с событием на каждый символ 9. Поле ввода с автозаполнением (предварительно передается список) 10. Новый настраиваемый диалог ввода и работа с ответами диалога 11. Работа с речью и голосом из любого контекста А также изменения в документации. В данную статью не вошло описание системы группового администрирования и мониторинга.

11.03.2021 2448 informa1555 20

Большой пакет дополнений для Simple UI — январь 2021

В этот раз множество полезных нововведений в мобильной платформе, исправлено все, о чем просили, а также прибрался в документации, актуализировал конструктор на 1С (с учетом текущих изменений, а также скорого выхода стационарного клиента) и переснял видео по-новому. Конструктор на платформе 1С:Предприятие 8.3.13.1865. Данный пост является дополнением к статье https://infostart.ru/public/1153616/

22.01.2021 1277 informa1555 9

Мобильный HTML-интерфейс, взгляд изнутри

Для реализации красивого интерфейса в мобильном приложении 1С удобно использовать возможности стека HTML / CSS / JavaScript. О том, как построить отзывчивый HTML-интерфейс с перехватом событий и выполнением JavaScript-кода в поле HTML-документа на форме 1С, рассказал сотрудник отдела мобильной разработки в компании «1С-Рарус» Роман Сухоруков.

28.12.2020 5055 ingeneerz@gmail.com 14

Младший брат Большого Брата? (управляем мобильным устройством с компьютера)

Сначала эта публикация задумывалась как небольшой обзор средств для облегчения жизни при мобильной разработке на 1С, но постепенно она переросла в ответ на вопрос, заданный в статье на Хабре: "Кто в доме хозяин: ПК, ноутбук, смартфон или… планшет?" Спойлер: это не они. Тех, кто заинтересовался, прошу под кат…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *