Superuserを使う

Superuserを使う

ChainsDD氏のSuperuserを使うには?

Superuserアプリの方

このあたりから、Eclair/Froyo 向け su-2.3.6.1-ef-signed.zip をダウンロードして展開すると、
Superuser.apk があるのでインストールする。
$ adb install Superuser.apk
ルートが必要なアプリを利用すると、”Superuserリクエスト”が出るので許可を出す。
rootが必要なアプリ ClockSync などが利用可能となる。

ソースを取得する。
$Android_SRC をカレントディレクトリとして
$ git clone git://github.com/ChainsDD/android_system_extras.git -b froyo

実機向けSUコマンドを make する。

ソースに修正を入れる(仙石氏のWebサイト http://www.gcd.org/blog/2010/11/671/ より)
$ANDROID_SRC/android_system_extras/su/su.c
$ diff -u su.c.orig su.c
--- su.c.orig	2011-01-14 19:10:33.361493478 +0900
+++ su.c	2011-01-14 19:10:57.517115973 +0900
@@ -96,7 +96,7 @@
     }
 
     /* If this isn't app_process, use the real path instead of argv[0] */
-    snprintf(path, sizeof(path), "/proc/%u/exe", from->pid);
+    /*snprintf(path, sizeof(path), "/proc/%u/exe", from->pid);
     len = readlink(path, exe, sizeof(exe));
     if (len < 0) {
         PLOGE("Getting exe path");
@@ -106,7 +106,7 @@
     if (strcmp(exe, "/system/bin/app_process")) {
         argv0 = exe;
     }
-
+    */
     strncpy(from->bin, argv0, sizeof(from->bin));
     from->bin[sizeof(from->bin)-1] = '\0';

makeする。
2.3.1_r1ではAndroid.mkの LOCAL_SHARED_LIBRARIES を下記のようにすると mm が通った。最後の3つが追加部分。
LOCAL_SHARED_LIBRARIES := liblog libsqlite libandroid_runtime libbinder libutils libcutils

$ cd android_system_extras/su
$ mm
…
Install: out/target/product/generic/system/xbin/su
…
完了
$ cd ../../out/target/product/generic/system/xbin/
$ adb push su /system/xbin/
$ adb shell chmod 6755 /system/xbin/su

最後に、
android_system_extras
が $ANDROID_SRC にあると make がエラーが出た。
整合性を調整するより、mv でディレクトリごと他に待避させた。
# mv android_system_extras ../

以上

コメント
  • 2.3.2だとsuでエラーになります。詳細はSourceForgeに記述してあります。 -- RO215IS01 (2011-03-02 04:31:25)
名前:
コメント:










(2011/01/14 19:31 公開)
最終更新:2011年03月02日 04:31
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。