Android 系统启动时检测电源状态,若检测不到 battery level
则自动把battery level设置为 0 ,并自动关机,无法进入系统。
为调试方便,绕过电源管理。
为解决此问题需修改
frameworks/base/services/jni/com_android_server_BatteryService.cpp
1、void setIntField(JNIEnv* env, jobject obj, const char* path,
jfieldID fieldID)函数中置 jint value = 1;
2、在android_server_BatteryService_update 中 置电池状态为Full,
Good :
if (readFromFile(BATTERY_STATUS_PATH, buf, SIZE) > 0)
env->SetIntField(obj, gFieldIds.mBatteryStatus,
gConstants.statusFull);
if (readFromFile(BATTERY_HEALTH_PATH, buf, SIZE) > 0)
env->SetIntField(obj,
gFieldIds.mBatteryHealth,gConstants.healthGood);
if (readFromFile(BATTERY_TECHNOLOGY_PATH, buf, SIZE) > 0)
env->SetObjectField(obj, gFieldIds.mBatteryTechnology,
env->NewStringUTF("1"));
保存编译解决此问题。
阅读(614) | 评论(0) | 转发(0) |