0

私はファイル マネージャーに取り組んでおり、/data フォルダーへのルート アクセスを取得できるようにしたいと考えています。そのディレクトリから File オブジェクトを作成して維持したいと考えています。どうすればこれを達成できますか? これが私がこれまでに試したことです..

if (RootTools.isRootAvailable()) {
   File file = new File("/data");
 //here is where the app crashed, and I got a null pointer exception.
} else {
    // do something else
}
4

1 に答える 1

0

ルート化により、ユーザーがインストールしたすべてのアプリケーションで、ストック構成のデバイスでは通常利用できない特権コマンドを実行できます。システム ファイルの変更または削除、キャリアまたはメーカーがインストールしたアプリケーションの削除、ハードウェア自体への低レベル アクセス (再起動、ステータス ライトの制御、またはタッチ入力の再調整) など、より高度で潜在的に危険な操作にはルート化が必要です。ルート化インストールでは、スーパーユーザー アプリケーションもインストールされます。このアプリケーションは、ルート権限またはスーパーユーザー権限が付与されたアプリケーションを監視します。

ウィキペディアより

Roottools を使用している場合は、これで十分です。

if (RootTools.isRootAvailable()) {
    // su exists, do something
} else {
    // do something else
}

これは単純なルート チェックですが、このコードを実行すると、su プロンプトが表示され (デバイスがルート化されている場合)、アプリへのアクセスを許可すると、スーパー ユーザー権限が付与されます。

PS: /data フォルダーのアクセス許可を書き込み可能に変更する必要がある場合があります。

于 2013-08-05T06:58:26.870 に答える