Android6.0 Recovery之后创建读写文件
来源:互联网 发布:淘宝网刷收藏 编辑:程序博客网 时间:2024/06/16 04:02
Recovery之后会创建”/data/misc/unlocked.txt” 并写入“true”
android6.0\bootable\recovery\recovery.cpp
static const char *UI_UNLOCK_FILE = “/data/misc/unlocked.txt”;
char* unlock = “true”;
// clear the recovery command and prepare to boot a (hopefully working) system,
// copy our log file to cache as well (for the system to read), and
// record any intent we were asked to communicate back to the system.
// this function is idempotent: call it as many times as you like.
static void
finish_recovery(const char *send_intent) {
// By this point, we’re ready to return to the main system…
if (send_intent != NULL) {
FILE *fp = fopen_path(INTENT_FILE, “w”);
if (fp == NULL) {
LOGE(“Can’t open %s\n”, INTENT_FILE);
} else {
fputs(send_intent, fp);
check_and_fclose(fp, INTENT_FILE);
}
}
// Save the locale to cache, so if recovery is next started up// without a --locale argument (eg, directly from the bootloader)// it will use the last-known locale.if (locale != NULL) { LOGI("Saving locale \"%s\"\n", locale); FILE* fp = fopen_path(LOCALE_FILE, "w"); fwrite(locale, 1, strlen(locale), fp); fflush(fp); fsync(fileno(fp)); check_and_fclose(fp, LOCALE_FILE);}
//ADD BY SONG START===============================
if (unlock != NULL) {
LOGI(“Saving Launcher Unlocked \”%s\”\n”, unlock);
FILE* fpl = fopen_path(UI_UNLOCK_FILE, “w”); //打开文件,文件不存在创建文件。
fwrite(unlock, 1, strlen(unlock), fpl); //写文件
fflush(fpl); //
fsync(fileno(fpl));
check_and_fclose(fpl, UI_UNLOCK_FILE);
chmod(UI_UNLOCK_FILE, 0755); //修改文件权限
chown(UI_UNLOCK_FILE, 1000, 1000); // system system //修改文件所属 system:system
}
//ADD BY SONG END =================================
copy_logs();// Reset to normal system boot so recovery won't cycle indefinitely.struct bootloader_message boot;memset(&boot, 0, sizeof(boot));set_bootloader_message(&boot);// Remove the command file, so recovery won't repeat indefinitely.if (ensure_path_mounted(COMMAND_FILE) != 0 || (unlink(COMMAND_FILE) && errno != ENOENT)) { LOGW("Can't unlink %s\n", COMMAND_FILE);}ensure_path_unmounted(CACHE_ROOT);sync(); // For good measure.
}
- Android6.0 Recovery之后创建读写文件
- 关于Android6.0 权限 文件读写
- Android6.0以上文件读写权限
- 关于Android6.0读写文件权限问题
- Android6.0之后请求权限
- android6.0系统之后,打开照相权限
- Android6.0之后动态权限申请
- [RK3288][Android6.0] 调试笔记 --- Recovery log重定向
- [RK3288][Android6.0] 调试笔记 --- Recovery执行脚本方法
- Android6.0文件变动
- linux创建读写文件
- 文件创建、读写操作
- Xcode6 之后 PCH 文件创建
- 解决Android6.0之后FloatMath类找不到问题
- 【笔记】Android6.0之后权限请求工具类
- Recovery模式下/cache/recovery/目录下创建文件,开机后文件被删除
- android6.0 Activity(四) Surface创建
- android6.0创建新的文件夹
- Linux系统入门学习:教你在VirtualBox 安装 Ubuntu 15.04
- python学习之路—基础篇
- html总结
- 【python学习笔记】28:scipy的ndimage模块中有关数学形态学
- JavaScript获取当前页Url地址各个部分
- Android6.0 Recovery之后创建读写文件
- 最小二乘法的矩阵解法和梯度下降法的区别在哪里
- hdu 2043 密码
- Linux Make 命令详解
- 盒模型之border实践--三角形
- Fence Repair POJ
- Java反射和注解一些总结
- Java JVM解析
- 测试Linux端口的连通性的四种方法