Приложение закрывается сразу после запуска, без ошибок, без пошаговых действий в отладчике VS - PullRequest
0 голосов
/ 01 июня 2018

Мы получили несколько новых телефонов для массового тестирования.В настоящее время, чтобы развернуть / установить приложение на устройстве, я просто подключаю его через USB-кабель к компьютеру разработчика и запускаю приложение из VisualStudio.

Что ж, с ZTE Z798BL (Android 6.0) все пошло совершенно неожиданно.1):

  1. Я настраиваю параметры разработчика на телефоне (включаю отладку по USB и бодрствование).
  2. Я подключаю USB-кабель, телефон обнаруживает VStudio на другом конце, запрашивает подтверждение.Теперь устройство отображается в раскрывающемся списке устройств VStudio - я выбираю его.
  3. Я запускаю приложение.VStudio компилирует, упаковывает, выравнивает по zip, а что нет, затем развертывает .apk.
  4. VStudio переключается в режим отладки.
  5. Телефон загружает первое действие, но без содержимого - только заголовок с меткой.
  6. Через несколько секунд активность исчезает, VStudio возвращается в режим редактирования .. мы закончили !

Нет исключений, нет ошибок, нет "К сожалению.. "сообщения на телефоне.Попытка еще раз не оказывает никакого влияния.Установка точек останова в первых строках кода не влияет.Попытка пошагового перехода (используя [F11] вместо [F5]) не имеет никакого значения - приложение просто завершает работу, даже не достигая моего кода .

Device-Log во время попытки запуска заполняетсябольшое количество shtuff со всех концов:

Попытка фильтрации с использованием PID приводит к 10 строкам, которые не дают абсолютно никакой подсказки: only 10 entries for this process??

По своему усмотрению я беру новый телефон Google Pixel, который еще не был подключен через USB к компьютеру разработчика.Подключите его, включите отладку по USB, выберите его в VisualStudio (все еще в том же сеансе - без перезагрузок, без перезапусков!), Нажмите «Выполнить», и после обычных действий сборки, видимых в окне «Вывод». Voila: вотприложение отлично работает на Pixel в первый раз !


Затем я попробовал образец ActivityLifecycle.Он сделал то же самое: заголовок "Activity A" без кнопок мигает на телефоне и сразу исчезает без каких-либо ошибок или исключений.Я изменил на:

[Activity(Label = "Activity AZ", MainLauncher = true)]

, что привело к изменению заголовка на "Упражнение A Z ", но я все еще не могу просмотреть любой код на ZTE !


Без указания каких-либо особенностей приложение работает на следующих устройствах / версиях Android:

  • Google Nexus 4 (4.3, API: 18)
  • BLU Vivo 5Mini (6.0, API: 23)
  • Samsung SM-T377V (7.1.1, API: 25), обновлено с (6.0.1, API: 23)
  • Google Pixel (8.1.0, API: 27)

поэтому, я думаю, это как-то связано с самим устройством ZTE .
Мы получили кучу их, так чтоя беру следующий .. каждый ведет себя одинаково !WTF ??

TargetPlatform приложения - 7.1, MinimumVersion - 4.3, включены все 5 поддерживаемых архитектур.
VStudio - 15.5.4, .NET - 4.7.03056, Xamarin - 4.8.0.757, Xamarin.AndroidSDK - 8.1.3.0.


Сегодня (2018-06-01) я уделил больше внимания выводу журнала устройств и обнаружил следующие строки (конечно, многие из них не Исходя из моего процесса!):

Time    Device Name Type    PID Tag Message
06-01 09:27:13.786  ZTE Z798BL  Info    1456    ActivityManager START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain} from uid 2000 (pid: 22859, caller: null) on display 0
06-01 09:27:13.786  ZTE Z798BL  Debug   22859   AndroidRuntime  Calling main entry com.android.commands.am.Am
06-01 09:27:13.806  ZTE Z798BL  Verbose 1456    BoostFramework  BoostFramework() : mPerf = com.qualcomm.qti.Performance@80107cc
06-01 09:27:13.806  ZTE Z798BL  Warning 1456    WindowManager   jiangmin Set focused app to: AppWindowToken{5ed5159 token=Token{2da09d2 ActivityRecord{8434c5d u0 J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain t20}}} old focus=AppWindowToken{79d17c2 token=Token{9731c0d ActivityRecord{d06a6a4 u0 com.android.launcher3/.Launcher t6}}} moveFocusNow=true
06-01 09:27:13.806  ZTE Z798BL  Verbose 1456    BoostFramework  BoostFramework() : mPerf = com.qualcomm.qti.Performance@173fdff
06-01 09:27:13.806  ZTE Z798BL  Debug   8462    Launcher_Launcher   Launcher onPause
06-01 09:27:13.806  ZTE Z798BL  Debug   22859   AndroidRuntime  Shutting down VM
06-01 09:27:13.816  ZTE Z798BL  Verbose 1456    BoostFramework  BoostFramework() : mPerf = com.qualcomm.qti.Performance@c98aa15
06-01 09:27:13.826  ZTE Z798BL  Verbose 1456    BoostFramework  BoostFramework() : mPerf = com.qualcomm.qti.Performance@81cd4b8
06-01 09:27:13.826  ZTE Z798BL  Info    1456    ActivityManager Start proc 22873:J7980ca.J7980ca/u0a91 for activity J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain
06-01 09:27:13.836  ZTE Z798BL  Info    22873   art Late-enabling -Xcheck:jni
06-01 09:27:13.836  ZTE Z798BL  Info    22464   Finsky  [1] com.google.android.finsky.setup.ar.run(35): Detected restoreservicev2://recovery not needed, will not run
06-01 09:27:13.906  ZTE Z798BL  Debug   1456    Settings    return value in isSelf
06-01 09:27:13.906  ZTE Z798BL  Debug   1456    Settings    return value in isSelf
06-01 09:27:13.926  ZTE Z798BL  Warning 22873   monodroid   Using override path: /storage/emulated/0/Android/data/J7980ca.J7980ca/files/.__override__
06-01 09:27:13.926  ZTE Z798BL  Warning 22873   monodroid   Creating public update directory: `/data/user/0/J7980ca.J7980ca/files/.__override__`
06-01 09:27:13.926  ZTE Z798BL  Warning 22873   monodroid   Trying to load sgen from: /storage/emulated/0/../legacy/Android/data/J7980ca.J7980ca/files/.__override__/libmonosgen-2.0.so
06-01 09:27:13.926  ZTE Z798BL  Warning 22873   monodroid   Trying to load sgen from: /data/app/J7980ca.J7980ca-1/lib/arm/libmonosgen-2.0.so
06-01 09:27:13.926  ZTE Z798BL  Warning 22873   monodroid   Using override path: /data/user/0/J7980ca.J7980ca/files/.__override__
06-01 09:27:13.926  ZTE Z798BL  Warning 22873   monodroid   Trying to load sgen from: /data/user/0/J7980ca.J7980ca/files/.__override__/libmonosgen-2.0.so
06-01 09:27:13.926  ZTE Z798BL  Warning 22873   monodroid   Trying to load sgen from: /storage/emulated/0/Android/data/J7980ca.J7980ca/files/.__override__/libmonosgen-2.0.so
06-01 09:27:13.936  ZTE Z798BL  Warning 22873   monodroid   Trying to load sgen from: /data/user/0/J7980ca.J7980ca/files/.__override__/links/libmonosgen-2.0.so
06-01 09:27:13.986  ZTE Z798BL  Warning 22873   monodroid-debug Trying to initialize the debugger with options: --debugger-agent=transport=dt_socket,loglevel=0,address=127.0.0.1:29382,server=y,embedding=1
..
06-01 09:27:21.836  ZTE Z798BL  Info    1456    ActivityManager Killing 22873:J7980ca.J7980ca/u0a91 (adj 0): stop J7980ca.J7980ca
..
06-01 09:27:21.876  ZTE Z798BL  Warning 1456    WindowManager   jiangmin Set focused app to: AppWindowToken{79d17c2 token=Token{9731c0d ActivityRecord{d06a6a4 u0 com.android.launcher3/.Launcher t6}}} old focus=AppWindowToken{5ed5159 token=Token{2da09d2 ActivityRecord{8434c5d u0 J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain t20}}} moveFocusNow=true
06-01 09:27:21.876  ZTE Z798BL  Warning 1456    ActivityManager Spurious death for ProcessRecord{64106cf 0:J7980ca.J7980ca/u0a91}, curProc for 22873: null
06-01 09:27:21.866  ZTE Z798BL  Info    1456    ActivityManager Start proc 22915:J7980ca.J7980ca/u0a91 for activity J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain
  Force finishing activity ActivityRecord{8434c5d u0 J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain t20}
06-01 09:27:21.866  ZTE Z798BL  Verbose 1456    BoostFramework  BoostFramework() : mPerf = com.qualcomm.qti.Performance@2f65b2e
06-01 09:27:21.856  ZTE Z798BL  Debug   1456    ActivityManager cleanUpApplicationRecord -- 22873
06-01 09:27:21.836  ZTE Z798BL  Debug   22904   AndroidRuntime  Calling main entry com.android.commands.am.Am
06-01 09:27:21.836  ZTE Z798BL  Info    1456    ActivityManager Force stopping J7980ca.J7980ca appid=10091 user=0: from pid 22904
..
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   This window was lost: Window{cf842c9 u0 Starting J7980ca.J7980ca}
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   Frames: containing=[0,0][480,854] parent=[0,0][480,854]
    display=[0,0][480,854] overscan=[0,0][480,854]
    content=[0,36][480,854] visible=[0,36][480,854]
    decor=[0,36][480,854]
    outset=[0,0][0,0]
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mToken=AppWindowToken{5ed5159 token=Token{2da09d2 ActivityRecord{8434c5d u0 J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain t20}}}
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mSystemDecorRect=[0,36][480,854] last=[0,0][0,0]
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mSeq=0 mSystemUiVisibility=0x0
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   On display=0 Rebuild removed 3 windows but added 2
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mOwnerUid=1000 mShowToOwnerOnly=false package=J7980ca.J7980ca appop=NONE
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mExiting=false mRemoveOnExit=false mDestroying=false mRemoved=true
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mRootToken=AppWindowToken{5ed5159 token=Token{2da09d2 ActivityRecord{8434c5d u0 J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain t20}}}
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mConfiguration={1.0 310mcc260mnc en_US ldltr sw320dp w320dp h545dp 240dpi nrml long port finger -keyb/v/h -nav/h s.9}
06-01 09:27:21.956  ZTE Z798BL  Debug   1456    ActivityManager cleanUpApplicationRecord -- 22436
06-01 09:27:23.316  ZTE Z798BL  Debug   3648    Settings    return value in isSelf
 iswfc:false
06-01 09:27:23.316  ZTE Z798BL  Debug   3181    systemUI_BmpofEbubWjfx  mIsMmsApnDataState: false isWFCState:false
06-01 09:27:23.316  ZTE Z798BL  Error   3181    systemUI_QipofTubuvt    Failed to GetSimBySub local
06-01 09:27:23.316  ZTE Z798BL  Debug   3648    Settings    return value in isSelf
06-01 09:27:23.316  ZTE Z798BL  Debug   3648    Settings    return value in isSelf
06-01 09:27:22.466  ZTE Z798BL  Warning 8462    OpenGLRenderer  Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
06-01 09:27:22.466  ZTE Z798BL  Warning 8462    OpenGLRenderer  Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
06-01 09:27:22.086  ZTE Z798BL  Debug   3648    Settings    return value in isSelf
06-01 09:27:22.016  ZTE Z798BL  Warning 22915   monodroid-debug Trying to initialize the debugger with options: --debugger-agent=transport=dt_socket,loglevel=0,address=127.0.0.1:29382,server=y,embedding=1
06-01 09:27:22.006  ZTE Z798BL  Warning 22915   monodroid   Creating public update directory: `/data/user/0/J7980ca.J7980ca/files/.__override__`
06-01 09:27:22.006  ZTE Z798BL  Warning 22915   monodroid   Trying to load sgen from: /storage/emulated/0/../legacy/Android/data/J7980ca.J7980ca/files/.__override__/libmonosgen-2.0.so
06-01 09:27:22.006  ZTE Z798BL  Warning 22915   monodroid   Trying to load sgen from: /data/app/J7980ca.J7980ca-1/lib/arm/libmonosgen-2.0.so
06-01 09:27:22.006  ZTE Z798BL  Warning 22915   monodroid   Trying to load sgen from: /data/user/0/J7980ca.J7980ca/files/.__override__/libmonosgen-2.0.so
06-01 09:27:22.006  ZTE Z798BL  Warning 22915   monodroid   Trying to load sgen from: /data/user/0/J7980ca.J7980ca/files/.__override__/links/libmonosgen-2.0.so
06-01 09:27:22.006  ZTE Z798BL  Warning 22915   monodroid   Using override path: /storage/emulated/0/Android/data/J7980ca.J7980ca/files/.__override__
06-01 09:27:22.006  ZTE Z798BL  Warning 22915   monodroid   Trying to load sgen from: /storage/emulated/0/Android/data/J7980ca.J7980ca/files/.__override__/libmonosgen-2.0.so
06-01 09:27:22.006  ZTE Z798BL  Warning 22915   monodroid   Using override path: /data/user/0/J7980ca.J7980ca/files/.__override__
06-01 09:27:21.986  ZTE Z798BL  Debug   1456    Settings    return value in isSelf
06-01 09:27:21.986  ZTE Z798BL  Debug   1456    Settings    return value in isSelf
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   WindowStateAnimator{102a206 Starting J7980ca.J7980ca}:
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mViewVisibility=0x0 mHaveFrame=true mObscured=false
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mAppToken=AppWindowToken{5ed5159 token=Token{2da09d2 ActivityRecord{8434c5d u0 J7980ca.J7980ca/md54e704423a01db64492900da8de435cc0.ActMain t20}}}
06-01 09:27:21.976  ZTE Z798BL  Warning 1456    WindowManager   mHasSurface=false mShownFrame=[0.0,0.0][480.0,854.0] isReadyForDisplay()=false
..

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

Что странного в том, что после ложной смерти (даже при отсутствии ссылки на исходный PID ?!) это выглядит какесли приложение снова загружается?Я приостановил ведение журнала ~ 15 секунд после того, как VStudio прекратил отладку, больше нет записей, явно упоминающих мой проект или его классы.

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Ну, случайно я обнаружил, что когда ZTE отсоединяется от USB-кабеля, приложение загружается правильно.Отключение телефона и попытка запустить приложение из VStudio по-прежнему приводит к «Ложной смерти для Процесса ...» без каких-либо полезных подсказок. Но повторное отключение, кажется, восстанавливает способность приложения работать .

Мое единственное объяснение - присутствие отладчика почему-то нежелательно ?!

Но яЯ возьму это, так как это позволяет мне развернуть следующую dev-build на телефоне и запускать ее без подключения к сети.

0 голосов
/ 02 июня 2018

Я бы сделал виртуальный тест с использованием эмулятора и создал бы образ телефона, используя эту технику: Запустите полный Android-телефон на эмуляторе Android

Таким образом, вы можете "«Оборудование ZTE» и, возможно, более эффективную отладку с использованием образа эмулятора.

Примечание. После обновления до Visual Studio 15.7.3 и обновления Xamarin мое приложение больше не запускалось в эмуляторе.Мне пришлось вручную удалить «Mono shared runtime» и «Xamarin.Android API-xx Support» и последнее установленное приложение.Сделал полную перестройку приложения и новое развертывание, после этого оно оштрафовалось.

Также предложено попробовать развертывание без общей среды выполнения, снимите флажок в Свойства -> Параметры Android -> Использовать общую среду выполнения

Если вы все еще застряли;идите на пляж и проверьте, плавает ли ZTE;)

...