Подтвердить что ты не робот

Создайте Android с суперпользователем

Кто-нибудь знает, как включить привилегии суперпользователя при создании андроида из источника (AOSP)?

4b9b3361

Ответ 1

Чтобы получить корневую (ed) оболочку, отредактируйте system/core/rootdir или init.rc, связанный с вашим устройством (например, device/ti/panda/init.rc для pandaboard) в источниках android, и измените эти строки:

service console /system/bin/sh
    class core
    console
    disabled
    user shell
    group log

в

service console /system/bin/sh
    class core
    console
    disabled
    user root 
    group root

Чтобы внедрить Superuser.apk в AOSP, вам нужно извлечь и построить:

  • su-binary (например, в external/) и упаковать/удалить system/extras/su.
  • Superuser (например, в packages/app/)

Вам также может потребоваться установить липкий бит /system/xbin/su в su-binary/Android.mk. Например, я использовал следующий makefile:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := su
LOCAL_SRC_FILES := su.c db.c activity.cpp

SU_SHARED_LIBRARIES := liblog libsqlite
ifeq ($(PLATFORM_SDK_VERSION),4)
    LOCAL_CFLAGS += -DSU_LEGACY_BUILD
    SU_SHARED_LIBRARIES += libandroid_runtime
else
    SU_SHARED_LIBRARIES += libcutils libbinder libutils
    LOCAL_MODULE_TAGS := eng
endif

LOCAL_C_INCLUDES += external/sqlite/dist

LOCAL_SHARED_LIBRARIES := $(SU_SHARED_LIBRARIES)

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)


SU_INSTALL_DIR := $(TARGET_OUT)/xbin
SU_BINARY := $(SU_INSTALL_DIR)/su
# taken from busybox-android
$(SU_BINARY)-post: su
    @echo "Setting SUID/GUID to su-binary..."
    chmod ug+s $(TARGET_OUT_OPTIONAL_EXECUTABLES)/su

SU_CMD := su
SYMLINKS := $(addprefix $(TARGET_OUT_EXECUTABLES)/,$(SU_CMD))
$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(SU_BINARY)-post $(LOCAL_PATH)/Android.mk
    @echo "Symlink: [email protected] -> /system/xbin/$(SU_CMD)"
    @mkdir -p $(dir [email protected])
    @rm -rf [email protected]
    @ln -sf /system/xbin/$(SU_CMD) [email protected]

ALL_DEFAULT_INSTALLED_MODULES += $(SU_BINARY)-post $(SYMLINKS)

include $(BUILD_EXECUTABLE)