Russian Qt Forum

Qt => Qt Quick => Тема начата: xintrea от Февраль 28, 2018, 18:28



Название: На Android стало храниться только одно QML-приложение
Отправлено: xintrea от Февраль 28, 2018, 18:28
В один прекрасный момент мобильник Huawei Honor 6 без моего согласия молча накатил обновления, снес все программы, и сбросил все настройки включая язык, страну, часовой пояс и т.п. В итоге сейчас стоит Android 6.0 с EMUI 4.0.1.

Вместе с этим изменилось поведение при USB-отладке QML-приложений. Если раньше приложение оставалось на телефоне, и разные QML-приложения имели отдельные значки с дефолтной иконкой «зеленый робот», то теперь на телефоне сохраняется только одно QML-приложение. То есть при запуске абсолютно другого QML-приложения в режиме USB, зачем-то удаляется предыдущее QML-приложение.

Я не могу понять, как с этим бороться. Мне нужно иметь на телефоне несколько QML-приложений, которые будут оставаться на нем и после отладки. Но QML-приложение просто «заменяется» последним отлаживаемым приложением.

Что делать-то, а? Куда копать?


Название: Re: На Android стало храниться только одно QML-приложение
Отправлено: kambala от Февраль 28, 2018, 20:47
звучит так, будто идентификатор приписывается один и тот же всем приложениям, во всяком случае в iOS это работает именно так.


Название: Re: На Android стало храниться только одно QML-приложение
Отправлено: xintrea от Март 01, 2018, 13:59
звучит так, будто идентификатор приписывается один и тот же всем приложениям, во всяком случае в iOS это работает именно так.

Что за идентификатор? Где он устанавливается? Какое значение ему надо задавать?


Название: Re: На Android стало храниться только одно QML-приложение
Отправлено: Alex Custov от Март 01, 2018, 14:05
Что за идентификатор? Где он устанавливается? Какое значение ему надо задавать?

Не помню уже тонкости, но ты можешь задать свой AndroidManifest.xml для проекта. В нём прописывается уникальный идентификатор в java формате, например org.tools.myapp. Если ты не указываешь свой AndroidManifest.xml, то qmake вероятно создаёт свой какой-то шаблонный. Вероятно он-то и одинаковый для всех твоих проектов и содержит один и тот же идентификатор.

Пример AndroidManifest.xml:

Код
XML
<?xml version="1.0"?>
<manifest package="org.tools.myapp" xmlns:android=.......