Android 禁止adb reboot recovery进入recovery模式
生活随笔
收集整理的這篇文章主要介紹了
Android 禁止adb reboot recovery进入recovery模式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.在debug模式下更換三個(gè)刷機(jī)軟件就能打開root權(quán)限
2.在root權(quán)限下更換reboot命令名稱
mv /system/bin/reboot /system/bin/reboot_3.再執(zhí)行以下命令發(fā)現(xiàn)不生效了,說明起作用的是reboot命令
adb reboot recovery4.找reboot命令的位置
find system/ -name Android.* | xargs -t -i grep reboot {}5.執(zhí)行以上命令在獲取到的多個(gè)結(jié)果中篩選到以下結(jié)果:
6.加log
--- a/alps/system/core/reboot/reboot.c +++ b/alps/system/core/reboot/reboot.c @@ -21,7 +21,11 @@#include <cutils/android_reboot.h>#include <unistd.h>+#include <android/log.h> +#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,"Test",__VA_ARGS__) +int main(int argc, char* argv[]) { + LOGD("[reboot] main...%s",argv[0]);int ret;size_t prop_len;char property_val[PROPERTY_VALUE_MAX]; @@ -58,12 +62,12 @@ int main(int argc, char* argv[]) {optarg = argv[optind];if (!optarg || !optarg[0]) optarg = "shell";- prop_len = snprintf(property_val, sizeof(property_val), "%s,%s", cmd, optarg); + prop_len = snprintf(property_val, sizeof(property_val), "%s", cmd);//最終修改點(diǎn)if (prop_len >= sizeof(property_val)) {fprintf(stderr, "%s command too long: %s\n", cmd, optarg);exit(EXIT_FAILURE);} - + LOGD("[reboot] main...ANDROID_RB_PROPERTY=%s,property_val=%s",ANDROID_RB_PROPERTY,p roperty_val);ret = property_set(ANDROID_RB_PROPERTY, property_val);--- a/alps/system/core/reboot/Android.bp +++ b/alps/system/core/reboot/Android.bp @@ -3,7 +3,7 @@cc_binary {name: "reboot",srcs: ["reboot.c"], - shared_libs: ["libcutils"], + shared_libs: ["libcutils","liblog"], //非常重要,不加則include <android/log.h>無法導(dǎo)入cflags: ["-Werror"],recovery_available: true,}7.log結(jié)果
總結(jié)
以上是生活随笔為你收集整理的Android 禁止adb reboot recovery进入recovery模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科技云报道:云原生安全,腾讯产业互联网的
- 下一篇: 教大家如何把pdf转成dwg格式的cad