在 android dumpsys 中获取当前可见片段的信息
Posted
技术标签:
【中文标题】在 android dumpsys 中获取当前可见片段的信息【英文标题】:Get info of current visible fragment(s) in android dumpsys 【发布时间】:2014-08-17 05:15:58 【问题描述】:我正在寻找一种解决方案来确定当前可以从 dumpsys 中看到哪些片段
我可以获得有关活动的信息
$ adb shell dumpsys activity | grep -i run
是否有任何碎片解决方案或如何从 dumpsys 中确定可见碎片?
【问题讨论】:
【参考方案1】:使用 adb shell dumpsys activity -h
检查文档。您可以提供 adb shell dumpsys activity <COMP_SPEC>
。当您提供
android 设备设置显示示例:
$ adb shell dumpsys activity com.android.settings
在我的设备上,命令输出包含:
... Active Fragments in 13c3a270: #0: DashboardSummary186a79e9 #0 id=0x7f0e017b mFragmentId=#7f0e017b mContainerId=#7f0e017b mTag=null mState=5 mIndex=0 mWho=android:fragment:0 mBackStackNesting=0 mAdded=true mRemoving=false mResumed=true mFromLayout=false mInLayout=false mHidden=false mDetached=false mMenuVisible=true mHasMenu=false mRetainInstance=false mRetaining=false mUserVisibleHint=true mFragmentManager=FragmentManager13c3a270 in Settingsef6d7d6 mActivity=com.android.settings.Settings@ef6d7d6 mContainer=android.widget.FrameLayout9b1166e V.E..... ........ 0,0-768,1022 #7f0e017b app:id/main_content mView=android.widget.ScrollView1c50410f VFED.V.. ........ 0,0-768,1022 #7f0e005a app:id/dashboard Child FragmentManager2298759c in DashboardSummary186a79e9: FragmentManager misc state: mActivity=com.android.settings.Settings@ef6d7d6 mContainer=android.app.Fragment$1@167cba5 mParent=DashboardSummary186a79e9 #0 id=0x7f0e017b mCurState=5 mStateSaved=false mDestroyed=false ...
【讨论】:
是否可以获得作为软键盘内容的可见片段?喜欢打开一个有输入字段的应用,单击它并获取每个按钮/字母、建议字段等的列表或片段? @Nicofisi 您可以通过adb shell dumpsys window InputMethod | grep "mHasSurface"
***.com/a/25781978/1097104 获得软键盘的可见性但是,通过简短的测试,我无法获得键盘的内容(我区分了键盘可见的转储和不可见)。
@Nicofisi 请就您的问题发布一个新问题以获得更多可见性(也许是真正的答案)。
谢谢,很有帮助! Android Studio 中有什么东西可以帮助可视化输出吗?
@vir 我们也许是这个? discuss.appium.io/t/…【参考方案2】:
这将显示您的活动和片段的实时视图:
watch -n 1 "adb shell dumpsys activity top | grep -E 'Fragment|Activity' | head -60"
【讨论】:
【参考方案3】:adb shell dumpsys activity $package_name_of_foreground_app | grep Fragment
获取 package_name_of_foreground_app 的方式可能不同,对我来说是:
adb shell dumpsys activity recents | grep 'Recent #0' | cut -d= -f6 | sed 's| .*||' | cut -d '/' -f1 | cut -d: -f2
【讨论】:
以上是关于在 android dumpsys 中获取当前可见片段的信息的主要内容,如果未能解决你的问题,请参考以下文章