我们收到了一堆用于测试的新手机。目前,为了在设备上部署/安装应用程序,我只需将其通过USB电缆附加到dev计算机上,并从VisualStudio运行该应用程序。
好吧,这些中兴通讯Z798BL (Android6.0.1)完全出乎意料:
没有例外,没有错误,没有“不幸.”电话留言。再试一次没有任何影响。在代码的第一行设置断点没有影响。尝试通过(使用F11而不是F5)没有任何影响--应用程序甚至在到达代码之前就已经终止了。
设备-发射过程中的日志中充满了来自各地的大量闪光灯:

试图使用PID筛选结果的10行绝对没有任何线索:

出于一时兴起,我买了一部新的谷歌Pixel手机,它还没有被USB连接到开发计算机上。插入它,启用USB调试,在VisualStudio中选择它(仍然在同一个会话中-没有重新启动,没有重新启动!),单击“运行”,然后在输出窗口中看到通常的构建操作。瞧:这是第一次在像素上完美运行的应用程序!
接下来,我尝试了一个ActivityLifecycle示例。它做了同样的事情:“活动A”标题没有按钮闪烁在电话上,没有任何错误或例外立即消失。我改为:
[Activity(Label = "Activity AZ", MainLauncher = true)]这导致标题更改为"Activity Z“,但我仍然无法在中兴通讯上执行任何代码!
该应用程序在没有针对任何细节的情况下运行在以下设备/ Android版本上:
因此,我的猜测是-这与中兴通讯设备本身有关。
我们有很多这样的人,所以我拿下一个. 每个人的行为都一样!WTF?
App的TargetPlatform为7.1,MinimumVersion为4.3,所有5个受支持的体系结构都已启用。
VStudio - 15.5.4,.NET - 4.7.03056,Xamarin - 4.8.0.757,Xamarin.Android SDK8.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?!)看起来该应用程序又被重新加载了吗?在VStudio停止调试15秒后,没有更多的条目显式地提到我的项目或它的类。
发布于 2018-06-12 17:49:11
嗯,我偶然发现,一旦中兴从USB线上拔下钩,应用程序就会正常加载。将手机插回并试图从VStudio运行该应用程序仍然会导致“进程的虚假死亡”。没有任何有用的线索。但重新拔出电源似乎恢复了应用程序的运行能力。
我唯一的解释是存在的调试器不知何故是不受欢迎的?!
但我会接受这一点,因为它允许我部署下一个开发构建到电话,并运行它拔出电源。
发布于 2018-06-01 21:34:54
我将使用仿真器进行虚拟测试,并使用以下技术创建电话映像:Run a full android phone rom on the Android Emulator
这样,您就可以“筛选”中兴通讯硬件,并可能使用模拟器映像进行更好的调试。
注意:在升级到VisualStudio15.7.3并更新了Xamarin之后,我的应用程序不再在模拟器中启动。我不得不手动删除"Mono共享运行时“和"Xamarin.Android API支持”,并最后安装应用程序。完成了应用程序的全面重建和新的部署之后,该应用程序就被罚款了。
还建议在没有共享运行时的情况下尝试部署,删除“属性”-> Android选项->使用共享运行时的签入。
如果你还被困住了,去海滩看看ZTEs是否漂浮;)
https://stackoverflow.com/questions/50648206
复制相似问题