日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 禁止adb reboot recovery进入recovery模式

發布時間:2023/12/8 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 禁止adb reboot recovery进入recovery模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.在debug模式下更換三個刷機軟件就能打開root權限

2.在root權限下更換reboot命令名稱

mv /system/bin/reboot /system/bin/reboot_

3.再執行以下命令發現不生效了,說明起作用的是reboot命令

adb reboot recovery

4.找reboot命令的位置

find system/ -name Android.* | xargs -t -i grep reboot {}

5.執行以上命令在獲取到的多個結果中篩選到以下結果:

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);//最終修改點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>無法導入cflags: ["-Werror"],recovery_available: true,}

7.log結果

總結

以上是生活随笔為你收集整理的Android 禁止adb reboot recovery进入recovery模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。