1. 程式人生 > >Android 系統啟動不起原因查詢

Android 系統啟動不起原因查詢

我們遇到Android系統開機介面(bootanimation)後,系統沒法執行起來的問題,

系統一直出現 waiting for ...日誌

似乎在等什麼服務啟動

因此懷疑system server 被block了

除錯方法如下:

1. adb shell mkdir /data/anr/

2. adb shell ps | grep system_server

system    1138  234   908376 39440 ffffffff 40061a54 S system_server

3.  adb shell kill -3 1138

4. adb shell pull /data/anr/trace.txt

----- pid 1138 at 2014-01-01 08:40:42 -----
Cmd line: system_server


JNI: CheckJNI is off; workarounds are off; pins=1; globals=289


DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)


"main" prio=5 tid=1 MONITOR
  | group="main" sCount=1 dsCount=0 obj=0x4159ee58 self=0x414be920
  | sysTid=1138 nice=-2 sched=0/0 cgrp=apps handle=1073963348
  | state=S schedstat=( 6367457522 242583118 5270 ) utm=595 stm=41 core=0
  at com.android.server.am.ActivityManagerService.registerReceiver(ActivityManagerService.java:~13106)


  - waiting to lock <0x41965278> (a com.android.server.am.ActivityManagerService) held by tid=27 (InputDispatcher)

  at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1458)
  at android.app.ContextImpl.registerReceiverAsUser(ContextImpl.java:1433)
  at android.content.pm.RegisteredServicesCache.<init>(RegisteredServicesCache.java:134)
  at android.content.SyncAdaptersCache.<init>(SyncAdaptersCache.java:43)
  at com.android.server.content.SyncManager.<init>(SyncManager.java:399)
  at com.android.server.content.ContentService.getSyncManager(ContentService.java:75)
  at com.android.server.content.ContentService.notifyChange(ContentService.java:283)
  at android.content.ContentResolver.notifyChange(ContentResolver.java:1621)
  at com.android.providers.settings.SettingsProvider.sendNotify(SettingsProvider.java:262)
  at com.android.providers.settings.SettingsProvider.insertForUser(SettingsProvider.java:941)
  at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:645)
  at android.content.ContentProvider$Transport.call(ContentProvider.java:325)
  at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:903)
  at android.provider.Settings$System.putStringForUser(Settings.java:1169)
  at android.provider.Settings$System.putIntForUser(Settings.java:1274)
  at android.provider.Settings$System.putInt(Settings.java:1268)

可以清晰的看到呼叫堆疊,是誰阻塞了system_server 的執行。

相關推薦

Android 系統啟動原因查詢

我們遇到Android系統開機介面(bootanimation)後,系統沒法執行起來的問題, 系統一直出現 waiting for ...日誌 似乎在等什麼服務啟動 因此懷疑system server 被block了 除錯方法如下: 1. adb shell m

Android模擬器啟動起來的原因

當模擬器啟動的時候,C:\Users\Administrator\.android\avd\iphone5s.avd下會有四個資料夾,他們都是上鎖的(因為同一個模擬器不能啟動兩次,根據的就是當前模擬器

Android系統啟動時間(系統當前時間)的獲取

1》.查裡很多資料,並沒有找到直接獲取系統啟動時間(不是系統當前時間)的ApI; 思路轉換為:接收系統的開機廣播,在廣播裡面獲取當前的時間; 2》.注意幾點: 1.BootUPReceiver廣播類

Android系統啟動流程(一)解析init進程啟動過程

option 寫入 android change failed miss 通知 target sna 前言 作為“Android框架層”這個大系列中的第一個系列,我們首先要了解的是Android系統啟動流程,在這個流程中會涉及到很多重要的知識點,這個系列我們就來一一講解它們

配置了Ubuntu環境變量,系統啟動

系統啟動 col shift blog AR 啟動不了 -s remount ubuntu 修改了etc/init.d/rcS文件後重啟後Ubuntu起不來了, 開啟按shift+e或者直接選擇,進入恢復模式 進入root shell 執行這個命令 可以有寫入權限,重新掛載

Android系統啟動流程

包名 more dev ted androi cap 執行 ons 開始 當系統引導程序啟動Linux內核,內核會記載各種數據結構,和驅動程序,加載完畢之後,Android系統開始啟動並加載第一個用戶級別的進程:init(system/core/init/Init.c)

android RelativeLayout中android:layout_marginBottom的作用問題

RelativeLayout佈局中: 1、當設定為android:layout_height="wrap_content"時,最下面的控制元件layout_marginBottom屬性無效,如果其他控制元件使用layout_above讓自己處於最下面的控制元件之上,那麼layout_margi

Android 系統原始碼編譯xxxTests模組的mk檔案註釋

1. 編譯xxxTests模組導致的編譯不過 build/core/Makefile:2789: warning: ignoring old commands for target `out/target/product/sp9832e_op54_go/sp9832e_op54_g

Tomcat記憶體CPU暴漲原因查詢

經過了大約4天的時間和一個週日的思考,終於找到了Tomcat執行變慢的原因,當然,找到原因不是因為思考,思考只是想表達一下自己週末也考慮工作的裝逼態度。 先感謝一下豹先生提供的jmap命令和網上各種大神讓我調整Tomcat引數的文章,基本沒用,但是讓我漲了見識,我是說對我這個問題沒起到作用,

雙擊Android Studio 啟動

【問題描述】 今天幫人安裝Android Studio 出現了一個問題就是我安裝AndroidStudio之後怎麼也打不開AndroidStudio,我的版本是2.33的,而大於2.33版本的會提示jdk版本太低不支援(大概的意思) 【解決方法】 我就對這種2.33版本的來說吧,上面

ubuntu14.04安裝AndroidO編譯環境之後系統啟動到主介面

在ubuntu14.04桌面環境下安裝AndroidO編譯環境之後系統啟動不不到主介面,主要的問題如下: sudo apt-get install libglapi-mesa:i386  libgl1

安裝win10和ubuntu雙系統啟動了解決

昨天在一塊硬碟裝了ubuntu系統,另一塊硬碟是win10系統,ubuntu啟動後。win10系統那塊硬碟掛載不上去,fdisk看了下感覺格式不太對。百度了一下發現是由於win8之後windows

Android系統啟動流程(一)解析init程序啟動過程

前言 作為“Android框架層”這個大系列中的第一個系列,我們首先要了解的是Android系統啟動流程,在這個流程中會涉及到很多重要的知識點,這個系列我們就來一一講解它們,這一篇我們就來學習init程序。 1.init簡介 init程序是An

系統啟動了ubuntu解決辦法

讀者在讀過我的安裝Ubuntu和Windows 8雙系統教程以後,碰到的主要的問題是電腦直接啟動到Windows 10而沒有出現啟動Ubuntu的選項。 這裡有兩種修復EFI啟動引導的方法,使Ubuntu可以正常啟動 將GRUB2設定為啟動引導 1. 啟用GRUB引導 在安裝時,有些地方可

Android 系統是MIUI、Flyme、EMUI

//讀取系統配置資訊build.prop類 import android.os.Environment; import java.io.File; import java.io.FileInputStream; import java.io.IOExcept

Android系統啟動過程-uBoot+Kernel+Android

轉載自:http://www.cnblogs.com/pngcui/p/4665106.html 摘要:本文是參考大量網上資源在結合自己檢視原始碼總結出來的,讓自己同時也讓大家加深對Android系統啟動過程有一個更加深入的瞭解!再次強調,本文的大多數功勞應

Android系統啟動流程(二)解析Zygote程序啟動過程

前言 上一篇文章我們分析了init程序的啟動過程,啟動過程中主要做了三件事,其中一件就是建立了Zygote程序,那麼Zygote程序是什麼,它做了哪些事呢?這篇文章會給你這些問題的答案。 1.Zygote簡介 在Android系統中,DVM(D

centos 7 系統啟動了 出現報錯dependency failed for /mnt , dependency failed for local file systems

阿里雲一臺Ecs重啟後啟動不了,出現報錯 dependency failed for /mnt , dependency failed for local file systems ,  報錯的原因  無法掛載資料盤到 /mnt 目錄,  /etc/fstab配置錯誤導致 &n

Linux啟動流程-bootloader至kernel的過程--android系統啟動流程

1 Bootloader 對於一般的ARM處理器,CPU上電或復位執行第一條指令所在地址,即第一段程式Bootloader的開始地址,Bootloader一般存於Nor-flash(XIP),支援晶片內執行。 Bootloader的功能可總結為:1)初始化CPU時鐘,記憶體

Android系統啟動-Init篇

基於Android 6.0的原始碼剖析, 分析Android啟動過程程序號為1的init程序的工作內容 /system/core/init/ - init.cpp - init_parser.cpp - signal_handler.cpp 一、概述 init