拔电池后显示android正在升级,L版本开机提示“Android正在升级或启动”

六、  手机down bin档前没有format data image

七、[debug手段]:

总结打trace的方式,这样可以定位出当前这个提示是哪个地方的原因(适用于L1版本)。

首先,@PackageManagerService.java:

1.打开DEBUG_DEXOPT的开关

2.performBootDexOpt()添加trace(“//mtk”标记

public void performBootDexOpt() {

enforceSystemOrRoot("Only the system can request dexopt be performed");

// Before everything else, see whether we need to fstrim.

try {

IMountService ms = PackageHelper.getMountService();

if (ms != null) {

final boolean isUpgrade = isUpgrade();

Slog.d(TAG + "_Debug","isUpgrade = " + isUpgrade);//mtk

boolean doTrim = isUpgrade;

......

if (doTrim) {

if (!isFirstBoot()) {

try {

Slog.d(TAG + "_Debug","showBootMessage called1...");//mtk

ActivityManagerNative.getDefault().showBootMessage(

mContext.getResources().getString(

R.string.android_upgrading_fstrim), true);

} catch (RemoteException e) {

}

}

ms.runMaintenance();

}

} else {

Slog.e(TAG, "Mount service unavailable!");

}

} catch (RemoteException e) {

// Can't happen; MountService is local

}

final ArraySetpkgs;

3. performBootDexOpt(PackageParser.Package pkg, int curr, int total) 添加trace(“//mtk”标记

private void performBootDexOpt(PackageParser.Package pkg, int curr, int total) {

if (DEBUG_DEXOPT) {

Log.i(TAG, "Optimizing app " + curr + " of " + total + ": " + pkg.packageName);

}

if (!isFirstBoot()) {

try {

Slog.d(TAG + "_Debug","showBootMessage called2...");//mtk

ActivityManagerNative.getDefault().showBootMessage(

mContext.getResources().getString(R.string.android_upgrading_apk,

curr, total), true);

} catch (RemoteException e) {

}

}

其次,SystemServer.java中startOtherServices()添加如下trace(“//mtk”标记

try {

mPackageManagerService.performBootDexOpt();

} catch (Throwable e) {

reportWtf("performing boot dexopt", e);

}

try {

Slog.d("PackageManager" + "_Debug","showBootMessage called3...");//mtk

ActivityManagerNative.getDefault().showBootMessage(

context.getResources().getText(

com.android.internal.R.string.android_upgrading_starting_apps),

false);

} catch (RemoteException e) {

}

再次,WindowManagerService.java中打开

DEBUG_BOOT debug 开关

以上,总共是6个地方的改动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值