最近、Android電話を出荷時設定にリセットしました。リセット前は、adb install
を介してアプリケーションをインストールできました。電話はルート化されていませんでした。
工場出荷時の状態にリセットした後、adbシェルのほぼすべてのコマンド(存在しないコマンドを含む)で「操作は許可されていません」というメッセージが表示されます。
$ install
install: permission denied
$ Push
push: permission denied
$ remount
remount: permission denied
$ su
su: permission denied
$ kmmsaldfmaldskfmlasdf
kmmsaldfmaldskfmlasdf: permission denied
$
ほとんどのPATHは私には読めません(/ system/binと/ system/xbinを除く):
$ echo $PATH
/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
$ ls /sbin
opendir failed, Permission denied
$ ls /vendor/bin
/vendor/bin: No such file or directory
$ ls /system/sbin/
/system/sbin/: No such file or directory
adb root
を実行した場合:
$ adb root
adbd cannot run as root in production builds
私の検索(すでに必要以上に時間がかかっている)から、いくつかのポインタはdefault.propにあります:
$ cat default.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1
$
しかし、default.propへの書き込みアクセス権はありません。
$ ls -l default.prop
-rw-r--r-- root root 118 1969-12-31 19:00 default.prop
$
また、再マウントできないようです。私はroot化されていないデバイスでadbを正常に使用することができましたが、なぜ今そんなに悲しんでいるのですか?誰かがこの問題に遭遇しましたか?私自身の電話は私には事実上使用できません、そしてもちろん私はどんな開発もすることができません。
Rwとして再マウントしようとしています:
$ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/stl9 /system rfs ro,relatime,vfat,log_off,check=no,gid/uid/rwx,iocharset=cp437 0 0
/dev/stl10 /cache rfs rw,nosuid,nodev,relatime,vfat,llw,gid/uid/rwx,iocharset=cp437 0 0
/dev/stl6 /mnt/.lfs j4fs rw,relatime 0 0
/dev/stl11 /data rfs rw,nosuid,nodev,relatime,vfat,llw,check=no,gid/uid/rwx,iocharset=cp437 0 0
$ mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /
mount: Operation not permitted
私の電話はSamsungGalaxyYです。
PCコマンドラインからinstall
のようなコマンドを発行する必要があります。
C:\> adb install ...
adbシェル内からではなく。それが機能しない場合は、実行する必要があるかもしれません
adb remount
および/または電話を再起動するか、電話ドライバを再インストールします。詳細については、 このスレッド を参照してください。
Adb Shellセッションのパスには、存在しないあらゆる種類のディレクトリが含まれている可能性があることがわかりました。それがなぜなのかはわかりませんが、通常は何も台無しになりません。
新しいバージョンのAndroidを携帯電話にインストールしなかったとすると、携帯電話は開発者モードではなくなったと思います。
設定に移動。システムの見出しが表示されるまで下にスクロールします。その下に、いくつかのオプションが表示されます。開発者がその1人でない場合は、[電話について]をクリックし、[ビルド番号]まで下にスクロールします。ビルド番号を7回クリックします。これで開発者モードに戻るはずです。
リカバリからこれらのコマンドを実行してみてください。最新のリカバリはdebuggable = 1ですが、カーネルを逆コンパイルしてro.debuggable = 0を1に変更すると、adbで再マウントし、adbをrootとして実行できるようになります。
ユーザー機能がどこかで剥奪されています。/proc // statusを見て、機能マスクを確認します。
私はギャラクシーS3でこの問題を際限なく抱えていましたAndroidキッチンを構築したとき、私はこれを回避する方法を見つけました
ro.secure=0 ro.debuggable=1
SuperS アプリをGooglePlayからインストールする必要があります。これは、私のデバイス(Galaxy S4)でルート機能を正しく有効にした唯一のスーパーユーザーアプリです。
その後、adb Shell
およびsu
。 / dataディレクトリからファイルをプルする場合は、そのファイルのアクセス許可を変更する必要があります(chmod
を使用)。その後、それは動作するはずです!
最近、(root化)LGP500をFroyo(Android 2.2.1)からGingerbeard(Android 2.3.3)に更新しました。その後、私はあなたと非常によく似た状況にいることに気づきました(正直言って同じです)。 SUの資格情報を失い、その問題の解決策を必死に見つけようとしました。私はとても必死でした-私は有名なものを試しました Android 4.2メソッド 開発者設定を有効にし、かなり長い間狂人のように私の貧弱なデバイスをタップしました。だから...私はまったく同じ問題を抱えていました。 Webサーフィンをしていると、問題が実際にはGingerbeardビルドにあることがわかり、いくつかの興味深い解決策に出くわしました。そして、すべての努力の後、どちらの方法が最適かを判断するのにかなりの時間がかかりました-私(最終的に)は私の2.3.3デバイスを持っていました根付いた。
私はこれらのことを教育目的でのみ共有していることに注意してください。誤ってデバイスをブリックしても、問題は発生しません。
「USBデバッグ」と「モックロケーションを許可する」がチェックされています。
データの損失を防ぐために、バックアップを作成することを強くお勧めします。 (少なくとも連絡先を.vcfファイルにエクスポートします)