2017-09-29 4 views
-1

に欠けている私はシェルにしようとしたとき、私はAndroidのリカバリモードのADBに以下のメッセージが表示されます:/システム/ binに/ shのは、Androidのリカバリモード

のexec '/システム/ binに/ shの' 失敗しました:そのようなをファイルまたはディレクトリ(2)

しかし、私は/ sbinにshを持っています。私はadbを再コンパイルしようとしましたが、タスクまではありません。私はadb v1.0.31を使用する必要があります。誰かが似たような問題を抱えていて、/ sbinでshを探すためにadbを再コンパイルしたのかどうか疑問に思っていました。もしそうなら、私はadbプログラムのコピーを高く評価します。

答えて

1

回復コンテキストのAndroidファイルシステムは、一部のケースでは極端に制限されています。ほとんどのファイルは通訳を含め、削除されます。

/system/bin/linker64 

または

/system/bin/linker 

を通訳なしで、あなたがそれに対してリンクされたSHを、実行することはできません。あなたが見つけるために(フォルダから)あなたのAOSPをコンパイルお使いのLinux PCでこれを実行します。

/system/bin$ readelf -d --program-headers sh 
... 
[Requesting program interpreter: /system/bin/linker64] 
... 
0x0000000000000001 (NEEDED)    Shared library: [libc++.so] 
0x0000000000000001 (NEEDED)    Shared library: [libdl.so] 
0x0000000000000001 (NEEDED)    Shared library: [libc.so] 

SHが、それは/システム/ binに/リンカを探します実行されますが、それはそれを見つけると言うことはありません場合はファイルが存在しないことを確認します。

リカバリモードでadbサポートが必要な場合は、リカバリファイルシステムとそれに依存する他のすべての共有ライブラリ(/ system/lib)またはバイナリにインタープリタをコピーする必要があります。

私はむしろあなたのニーズに応じて別のソリューションを探しています。

+0

ご協力いただきありがとうございます –

関連する問題