-1

組み込みアプリケーションを開発しており、デバイスの所有者がオンデマンドでデバイスをルート化およびルート化解除できるようにする必要があります。

ROM に格納されている特別なバージョンの SU を介して次のシェル コマンドを実行することで、デバイスをルート化できます。

chown 0.0 /system/xbin/su
chmod 06755 /system/xbin/su

chown 0.0 /system/xbin/busybox
chmod 0755 /system/xbin/busybox

ルート化プロセスを元に戻すことができる必要があります。したがって、2 つのファイルの所有者とアクセス許可を元に戻す必要があります。問題は、ルート化されていない Android デバイスのデフォルトのアクセス許可と所有者が何であるかわからないことです。

誰か助けてくれませんか?!

4

2 に答える 2

0

およびが配置ls -lされているディレクトリでコマンドを実行することにより、アクセス許可ビットを読み取ることができます。次に、アクセス許可をデフォルトに戻すための静的フィールドを設定します。subusybox

プログラムを実行する前に、これらのコマンドをシェルで実行します (デバイスのターミナル、または を介し​​てadb shell) 。

cd /system/xbin
ls -l

...output here.... su
...output here.... busybox

コード(デフォルトの所有者と権限がわかったら):

public class RootAndUnroot{
private static String[] DEF_SU = {"0X.X", "0XXX"}; //Initialize these to the values found above
private static String[] DEF_BUSYBOX = {"0Y.Y", "0YYY"};
...
private void revertRoot(){
    setPermissions("/system/xbin/busybox", DEF_BUSYBOX);
    setPermissions("/system/xbin/su", DEF_SU);
}
于 2013-01-20T21:22:44.247 に答える