2024年Android最新Android~adb卸载系统预装应用(亲测有效),面试经历的文章
尾声
以薪资待遇为基础,以发展为最终目标,要在高薪资的地方,谋求最好的发展!
下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
LG V30 (Android 9.0)
-
较新adb驱动
-
PC一台
-
对应的USB调试线一根
二. 安装adb驱动
下载360手机助手,安装USB连接手机,360手机助手对手机adb驱动支持很好,直接连接就好了。确定adb驱动安装好后,任务管理器将360Mobile相关的进程干掉。重新连接adb,最后使用cmd或者AS自带的Terminal进入命令行,熟悉我们的adb命令就行了。
三. adb卸载预装应用步骤
1、查看adb版本
确认adb版本较新,我自己亲自试了在自己笔记本电脑adb工具执行命令用不了,总是提示如下打印:
F:mypc>adb devices
adb server is out of date. killing…
daemon started successfully *
List of devices attached
810e909e offline
尝试了网上的方法,还是没有解决,但想到公司电脑好像没有问题的。于是对比了两台电脑adb的版本,还是存在差异,或许是adb安装路径有问题!
F:mypc>adb version
Android Debug Bridge version 1.0.29
E:other>adb version
Android Debug Bridge version 1.0.41
Version 29.0.1-5644136
Installed as C:Windowssystem32adb.exe
2、查看系统中所有包
执行下面命令,将打印复制到记事本中,方便后面查找。
adb shell pm list packages
3、确认不知名的应用包名(较低安卓版本可直接查看应用包名)
有的应用我们可以通过包名就可以判断哪一个应用,但有的应用我们是确定不了的。那么就需要确认当前运行的应用的包名,记住安卓Activity和Application packagename是有关系的!好几种方法,一种不行尝试另外一种哦。
法一:
1、在手机上打开app
2、执行:adb shell dumpsys window w |findstr / |findstr name=
法二:
1、在手机上打开app
2、执行:adb shell dumpsys activity activities
3、分析打印
执行:adb shell dumpsys activity activities 后,我拿到的打印如下,具体分析我们就知道包名和应用名是哪一个了。这条命令会将activity堆栈信息和活动信息告诉我们。
D:other>adb shell dumpsys activity activities
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
Stack #102: type=standard mode=fullscreen
isSleeping=false
mBounds=Rect(0, 0 - 0, 0)
Task id #3162
mBounds=Rect(0, 0 - 0, 0)
mMinWidth=-1
mMinHeight=-1
mLastNonFullscreenBounds=null
* TaskRecord{5546a0e #3162 A=com.uplus.onphone U=0 StackId=102 sz=1}
userId=0 effectiveUid=u0a265 mCallingUid=u0a121 mUserSetupComplete=true mCallingPackage=com.lge.launcher3
affinity=com.uplus.onphone
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.uplus.onphone/.activity.MainActivity}
realActivity=com.uplus.onphone/.activity.MainActivity
autoRemoveRecents=false isPersistable=true numFullscreen=1 activityType=1
rootWasReset=true mNeverRelinquishIdentity=true mReuseTask=false mLockTaskAuth=LOCK_TASK_AUTH_PINNABLE
Activities=[ActivityRecord{64b2438 u0 com.uplus.onphone/.activity.MainActivity t3162}]
askedCompatMode=false inRecents=true isAvailable=true
mRootProcess=ProcessRecord{d749b7 25828:com.uplus.onphone/u0a265}
stackId=102
hasBeenVisible=true mResizeMode=RESIZE_MODE_RESIZEABLE mSupportsPictureInPicture=false isResizeable=true lastActiveTime=95850170 (inactive for 12s)
* Hist #0: ActivityRecord{64b2438 u0 com.uplus.onphone/.activity.MainActivity t3162}
packageName=com.uplus.onphone processName=com.uplus.onphone
launchedFromUid=10121 launchedFromPackage=com.lge.launcher3 userId=0
app=ProcessRecord{d749b7 25828:com.uplus.onphone/u0a265}
Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.uplus.onphone/.activity.MainActivity bnds=[312,1214][584,1665] (has
extras) }
frontOfTask=true task=TaskRecord{5546a0e #3162 A=com.uplus.onphone U=0 StackId=102 sz=1}
taskAffinity=com.uplus.onphone
realActivity=com.uplus.onphone/.activity.MainActivity
baseDir=/system/product/app/UplusTVonPhone/UplusTVonPhone.apk
dataDir=/data/user/0/com.uplus.onphone
stateNotNeeded=false componentSpecified=true mActivityType=standard
compat={640dpi, } labelRes=0x7f12002d icon=0x7f0f0002 theme=0x7f13000a
mLastReportedConfigurations:
mGlobalConfig={1.0 460mcc1mnc [zh_CN_#Hans,en_US,zh_CN] ldltr sw360dp w360dp h654dp 640dpi nrml long hdr port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 27
12, 1440) mAppBounds=Rect(0, 0 - 1440, 2712) mWindowingMode=fullscreen mActivityType=undefined} s.45 fontTypeIndex0 forceEmbolden0}
mOverrideConfig={1.0 460mcc1mnc [zh_CN_#Hans,en_US,zh_CN] ldltr sw360dp w360dp h654dp 640dpi nrml long hdr port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 -
1440, 2712) mAppBounds=Rect(0, 0 - 1440, 2712) mWindowingMode=fullscreen mActivityType=standard} s.45 fontTypeIndex0 forceEmbolden0}
CurrentConfiguration={1.0 460mcc1mnc [zh_CN_#Hans,en_US,zh_CN] ldltr sw360dp w360dp h654dp 640dpi nrml long hdr port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0,
0 - 1440, 2712) mAppBounds=Rect(0, 0 - 1440, 2712) mWindowingMode=fullscreen mActivityType=standard} s.45 fontTypeIndex0 forceEmbolden0}
taskDescription: label=“null” icon=null iconResource=0 iconFilename=null primaryColor=ffffffff
backgroundColor=fffafafa
statusBarColor=ff000000
navigationBarColor=ff000000
launchFailed=false launchCount=1 lastLaunchTime=-2m33s40ms
haveState=false icicle=null
state=RESUMED stopped=false delayedResume=false finishing=false focused=true
keysPaused=false inHistory=true visible=true sleeping=false idle=true mStartingWindowState=STARTING_WINDOW_REMOVED
fullscreen=true noDisplay=false immersive=false launchMode=0
frozenBeforeDestroy=false forceNewConfig=false
mActivityType=standard
waitingVisible=false nowVisible=true lastVisibleTime=-12s404ms
connections=[ConnectionRecord{b2a7614 u0 CR com.uplus.onphone/.player.PopupPlayer:@b109867}]
resizeMode=RESIZE_MODE_RESIZEABLE
mLastReportedMultiWindowMode=false mLastReportedPictureInPictureMode=false
translucent=false
Running activities (most recent first):
TaskRecord{5546a0e #3162 A=com.uplus.onphone U=0 StackId=102 sz=1}
Run #0: ActivityRecord{64b2438 u0 com.uplus.onphone/.activity.MainActivity t3162}
mResumedActivity: ActivityRecord{64b2438 u0 com.uplus.onphone/.activity.MainActivity t3162}
mLastPausedActivity: ActivityRecord{64b2438 u0 com.uplus.onphone/.activity.MainActivity t3162}
Stack #0: type=home mode=fullscreen
isSleeping=false
mBounds=Rect(0, 0 - 0, 0)
法三:
1、手机打开应用
2、执行:adb shell dumpsys activity top
linux: adb shell dumpsys activity | grep “mFocusedActivity”
windows: adb shell dumpsys activity | findstr “mFocusedActivity”
这种方法和法二类似,但仔细看一下下面的打印太恐怖了。我打印了安卓Launcher桌面活动信息,居然什么都暴露了,我擦谷歌爸爸太强大了!
D:other>adb shell dumpsys activity top
TASK com.android.systemui id=3064 userId=0
ACTIVITY com.android.systemui/.recents.RecentsActivity 1c13a90 pid=2533
Local Activity ca56c1a State:
mResumed=false mStopped=true mFinished=false
mChangingConfigurations=false
mCurrentConfig={1.0 460mcc1mnc [zh_CN_#Hans,en_US,zh_CN] ldltr sw360dp w360dp h654dp 640dpi nrml long hdr port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 2712,1440) mAppBounds=Rect(0, 0 - 1440, 2712) mWindowingMode=fullscreen mActivityType=recents} s.45 fontTypeIndex0 forceEmbolden0}
mLoadersStarted=true
FragmentManager misc state:
mHost=android.app.Activity H o s t C a l l b a c k s @ d f 5 b 1 f e m C o n t a i n e r = a n d r o i d . a p p . A c t i v i t y HostCallbacks@df5b1fe mContainer=android.app.Activity HostCallbacks@df5b1femContainer=android.app.ActivityHostCallbacks@df5b1fe
mCurState=3 mStateSaved=true mDestroyed=false
ViewRoot:
mAdded=true mRemoved=false
mConsumeBatchedInputScheduled=false
mConsumeBatchedInputImmediatelyScheduled=false
mPendingInputEventCount=0
mProcessInputEventsScheduled=false
mTraversalScheduled=false mIsAmbientMode=false
android.view.ViewRootImpl N a t i v e P r e I m e I n p u t S t a g e : m Q u e u e L e n g t h = 0 a n d r o i d . v i e w . V i e w R o o t I m p l NativePreImeInputStage: mQueueLength=0 android.view.ViewRootImpl NativePreImeInputStage:mQueueLength=0android.view.ViewRootImplImeInputStage: mQueueLength=0
android.view.ViewRootImplKaTeX parse error: Expected ‘}’, got ‘#’ at position 338: ……I. 0,0-0,0 #?102018a android…HostCallbacks@de35f9e
mContainer=android.app.Activity H o s t C a l l b a c k s @ d e 35 f 9 e m C u r S t a t e = 5 m S t a t e S a v e d = f a l s e m D e s t r o y e d = f a l s e V i e w R o o t : m A d d e d = t r u e m R e m o v e d = f a l s e m C o n s u m e B a t c h e d I n p u t S c h e d u l e d = f a l s e m C o n s u m e B a t c h e d I n p u t I m m e d i a t e l y S c h e d u l e d = f a l s e m P e n d i n g I n p u t E v e n t C o u n t = 0 m P r o c e s s I n p u t E v e n t s S c h e d u l e d = f a l s e m T r a v e r s a l S c h e d u l e d = f a l s e m I s A m b i e n t M o d e = f a l s e a n d r o i d . v i e w . V i e w R o o t I m p l HostCallbacks@de35f9e mCurState=5 mStateSaved=false mDestroyed=false ViewRoot: mAdded=true mRemoved=false mConsumeBatchedInputScheduled=false mConsumeBatchedInputImmediatelyScheduled=false mPendingInputEventCount=0 mProcessInputEventsScheduled=false mTraversalScheduled=false mIsAmbientMode=false android.view.ViewRootImpl HostCallbacks@de35f9emCurState=5mStateSaved=falsemDestroyed=falseViewRoot:mAdded=truemRemoved=falsemConsumeBatchedInputScheduled=falsemConsumeBatchedInputImmediatelyScheduled=falsemPendingInputEventCount=0mProcessInputEventsScheduled=falsemTraversalScheduled=falsemIsAmbientMode=falseandroid.view.ViewRootImplNativePreImeInputStage: mQueueLength=0
android.view.ViewRootImpl I m e I n p u t S t a g e : m Q u e u e L e n g t h = 0 a n d r o i d . v i e w . V i e w R o o t I m p l ImeInputStage: mQueueLength=0 android.view.ViewRootImpl ImeInputStage:mQueueLength=0android.view.ViewRootImplNativePostImeInputStage: mQueueLength=0
Choreographer:
mFrameScheduled=false
mLastFrameTime=74902929 (9414 ms ago)
View Hierarchy:
DecorView@3260a7f[LauncherExtension]
android.widget.LinearLayout{c10568 V.E… … 0,0-1440,2880}
android.view.ViewStub{b9f5a4c G.E… …I. 0,0-0,0 #102018a android:id/action_mode_bar_stub}
android.widget.FrameLayout{1d23605 V.E… … 0,0-1440,2880 #1020002 android:id/content}
com.android.launcher3.LauncherRootView{6ee4c6f V.E… … 0,0-1440,2880 #7f0900a4 app:id/launcher}
android.widget.ImageView{d4f0c87 G.ED… …I. 0,0-0,0 #7f09002b app:id/blur_background_in_bottom_of_rootview}
com.android.launcher3.dragndrop.DragLayer{4f5ef54 V.E… … 0,0-1440,2880 #7f090056 app:id/drag_layer}
com.android.launcher3.FocusIndicatorView{324ca95 V.ED… … 0,96-208,304 #7f090064 app:id/focus_indicator}
com.android.launcher3.Workspace{7e3a7b4 V.ED…L. … -2909,-2189-4349,5069 #7f090163 app:id/workspace}
com.android.launcher3.CellLayout{54a0481 VFED…CL. … 2949,2365-4309,4469}
android.widget.LinearLayout{a1d7aa I.E… … 0,0-0,0}
android.widget.ImageButton{c1acf9b VFED…C… …I. 0,0-0,0}
com.android.launcher3.ClickShadowView{f8dcf38 V.ED… … 0,0-320,468}
com.android.launcher3.ShortcutAndWidgetContainer{1d47b11 V.E… … 0,0-1360,2104}
FolderIcon {手机管理}
android.widget.ImageView{51dc476 V.ED… … 8,6-264,262 #7f0900ec app:id/preview_background}
AppIcon {手机管理}
AppIcon {联系人}
AppIcon {文件管理器}
AppIcon {计算器}
AppIcon {Quick备忘录+}
AppIcon {设置}
com.android.launcher3.CellLayout{18f8967 VFED…CL. … 4389,2365-5749,4469}
android.widget.LinearLayout{8ccca77 I.E… … 0,0-0,0}
android.widget.ImageButton{3eca6e4 VFED…C… …I. 0,0-0,0}
com.android.launcher3.ClickShadowView{ef4b74d V.ED… … 0,0-320,468}
com.android.launcher3.ShortcutAndWidgetContainer{99b202 V.E… … 0,0-1360,2104}
AppIcon {豌豆荚}
AppIcon {支付宝}
AppIcon {百度网盘}
AppIcon {微信}
AppIcon {高德地图}
AppIcon {美团}
AppIcon {QQ}
AppIcon {优酷视频}
AppIcon {网易云音乐}
AppIcon {手机淘宝}
AppIcon {王者荣耀}
AppIcon {当当}
AppIcon {迅雷}
AppIcon {WiFi万能钥匙}
AppIcon {发现精彩}
AppIcon {LBE安全大师}
AppIcon {Chrome}
com.android.launcher3.CellLayout{815503 VFED…CL. … 5829,2365-7189,4469}
android.widget.LinearLayout{5399713 I.E… … 0,0-0,0}
android.widget.ImageButton{13f4d50 VFED…C… …I. 0,0-0,0}
com.android.launcher3.ClickShadowView{d627b49 V.ED… … 0,0-320,468}
com.android.launcher3.ShortcutAndWidgetContainer{7f4ec4e V.E… … 0,0-1360,2104}
AppIcon {无人农机终端}
AppIcon {UTSmartCook}
com.android.quickstep.views.RecentsViewContainer{59c916f G.E… …I. 0,0-0,0 #7f0900de app:id/overview_panel_container}
com.android.quickstep.views.LauncherRecentsView{2d3ee7c V.ED… …ID 0,0-0,0 #7f0900dd app:id/overview_panel}
com.android.quickstep.views.ClearAllButton{6ce8305 VFED…C… …I. 0,0-0,0 #7f09003c app:id/clear_all_button}
android.widget.FrameLayout{cb77f5a V.E… …I. 0,0-0,0 #7f0900dc app:id/overview_guide_ani_view}
android.widget.LinearLayout{c8ad58b V.E… …I. 0,0-0,0 #7f0900df app:id/overview_swipeup_arrow}
android.view.View{8af7668 I.ED… …I. 0,0-0,0 #7f0900e0 app:id/overview_swipeup_guide_arrow1}
android.view.View{5394a81 I.ED… …I. 0,0-0,0 #7f0900e1 app:id/overview_swipeup_guide_arrow2}
com.android.launcher3.SwipeUpGuideText{ede3726 I.ED… …I. 0,0-0,0 #7f0900e2 app:id/overview_swipeup_guide_text}
com.android.launcher3.Hotseat{6cf3f67 V.E… … 0,2436-1440,2712 #7f090087 app:id/hotseat}
如果你进阶的路上缺乏方向,可以加入我们的圈子和安卓开发者们一起学习交流!
最后,借用我最喜欢的乔布斯语录,作为本文的结尾:
人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。
你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。
最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
J大厂Android高频面试题
[外链图片转存中…(img-lYrLQsCf-1715654613934)]
最后,借用我最喜欢的乔布斯语录,作为本文的结尾:
人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。
你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。
最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
还没有评论,来说两句吧...